*特别注意本人仅仅是处于对爬虫的喜爱,发表自己的看法,帮助自己在复习以及他人借鉴,大神勿喷,谢谢合作,我将持续更新
1、 了解HTTP以及爬虫过程所需的条件
①1Http Ⅰ:当用户在地址输入了网址,发送网络请求的过程 Ⅱ:Http的请求方式 get:①比较便捷,不足:不安全,明文,参数长度有限 post:①比较安全②数据整体没有限制③可以上传文件 put(不完全的) delete(删除一些信息) head(请求头) ②爬虫:使用代码模拟用户批量的发送网络请求 批量的获取数据 发送网络请求给服务器一般需要带一定的数据给服务器,不带数据(也就没有参数)也可以,带有参数的话不易被发现是爬虫者 请求头里面(requestheader) 返回数据响应:response 请求返回的 # Accept 文本格式 #Accept-Encoding编码格式 #connection:长链接 短链接 #Cookie:缓存 #Host: 域名 # Referer:标志从那个页面条转过来的 # User-Agent:“Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0”: 浏览器和用户的的一些信息 ③爬虫的工作原理 一:确定你抓取的url是哪一个 二:使用python代码发送请求获取数据(java Go 都可以) 三:解析获取到的数据(精确数据) ①找到新的数据(url)回到第一步 四:数据持久化(保存)
import urllib.request//导包 def load_data(): url = “http://www.baidu.com/”//工作原理里面的第一点
# response:Http响应对象(响应体) response = urllib.request.urlopen(url)//请求 工作原理里面的第二点 print(response) # 读取内容 byte(二进制类型) data = response.read()//读取内容 工作原理里面的第三点 print(data) # 将文件获取的内容转化为字符串 str_data = data.decode("utf-8")//转化为了解析 少了解析这一步,一般使用Xpath等解析数据 print(str_data) #将数据写入文件 with open("baidu.html","w",encoding="utf-8") as f://第四步 保存了 f.write(str_data)注意事件:一般我们使用爬虫爬取数据的时候,都要在发送请求时进行伪装;