Python 爬虫架构主要由五个部分组成,分别是调度器、URL管理器、网页下载器、网页解析器、应用程序(爬取的有价值数据)。
调度器:相当于一台电脑的CPU,主要负责调度URL管理器、下载器、解析器之间的协调工作。
URL管理器:包括待爬取的URL地址和已爬取的URL地址,防止重复抓取URL和循环抓取URL。
网页下载器:通过传入一个URL地址来下载网页,将网页转换成一个字符串,。
网页解析器:将一个网页字符串进行解析,可以按照我们的要求来提取出我们有用的信息,也可以根据DOM树的解析方式来解析。
应用程序:就是使用爬虫程序爬取数据的过程,python的爬取过程可以给大家示例下:
#! -*- encoding:utf-8 -*-import requestsimport random# 要访问的目标页面targetUrl = "http://httpbin.org/ip"# 要访问的目标HTTPS页面# targetUrl = "https://httpbin.org/ip"# 代理服务器(产品官网 www.16yun.cn)proxyHost = "t.16yun.cn"proxyPort = "31111"# 代理验证信息proxyUser = "username"proxyPass = "password"proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {"host" : proxyHost,"port" : proxyPort,"user" : proxyUser,"pass" : proxyPass,}# 设置 http和https访问都是用HTTP代理proxies = {"http" : proxyMeta,"https" : proxyMeta,}# 设置IP切换头tunnel = random.randint(1,10000)headers = {"Proxy-Tunnel": str(tunnel)}resp = requests.get(targetUrl, proxies=proxies, headers=headers)print resp.status_codeprint resp.text
此处主要是爬虫程序中添加代理IP的实现过程,代理IP在爬虫中也是很重要的一部分,代理IP质量的好坏也直接影响了爬取数据的速度。这里推荐大家可以试试亿牛云代理,身边很多朋友用过都觉得很靠谱,详细介绍可以去官网咨询www.16yun.cn。
若有收获,就点个赞吧