python网络爬虫
一、什么是爬虫
爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息。
二、爬虫如何抓取网页数据
2.1网页的三大特性
网页三大特征:
1.网页都有自己唯一的URL(统一资源命令符)来进行定位
2.网页都使用HTML(定位超文本标记语言)来描述页面信息
3.网页都使用HTTP/HTTPS(超文本传输协议)协议来传输HTML数据
2.2 爬虫的设计思路:
1.首先确定需要爬取的网页URL地址
2.通过HTTP/HTTPS协议来获取对应的HTML页面
3.提取HTML页面里有用的数据
a.如果是需要的数据就保存起来
b.如果是页面里的其他URL,那就继续执行第二步。
2.3 如何抓取HTML页面
HTTP请求的处理:urllib,urllib2,request 处理后的请求可以模拟浏览器发送请求,获取服务器响应的文件。
2.4解析服务器响应的内容
re,xpath,BeautifulSoup4(bs4),jsonpath,pyquery等
2.5 如何采集动态HTML、验证码处理
通用的动态页面的采集:Selenium+PhantomJs(无界面),模拟真实的浏览器加载
三、通用爬虫、聚焦爬虫
3.1通用爬虫:搜索引擎用的爬虫系统。
1.目标:就是尽可能把互联网上所有网页下载下来,放到本地服务器形成的备用库,再对这些网页做相关的处理(提取关键字,去掉广告),提取有用的东西
2.抓取流程:
a:首选选取一部分已有的URL,把这些URL放到爬虫队列。
b:从队列取出这些URL,然后解析DNS得到主机IP,然后去这个IP对应的服务器中下载HTML页面,宝黁到搜索引擎的本地服务器之后,把这个爬过的URL放入已爬虫的队列中
c:分析网页内容,找出网页其他连接诶去,继续执行第二步操作,直到爬到相关的信息
3.2搜索引擎如何获取一个网站的URL
1.主动向搜索引擎提交网站
2.其它网站里设置网站的连接
3.搜索引擎会和DNS服务商进行合作,可以快速收录新网站,DNS:就是把域名解析成IP的一种技术。