爬虫工作流程
1、创建爬虫项目
2、采集数据
3、解析数据
4、储存数据
创建爬虫项目:
创建一个工作目录。在项目中新建middlewares.py文件(./项目名/middlewares.py)
采集数据:
#! -*- encoding:utf-8 -*- import base64 import sys import random PY3 = sys.version_info[0] >= 3 def base64ify(bytes_or_str): if PY3 and isinstance(bytes_or_str, str): input_bytes = bytes_or_str.encode('utf8') else: input_bytes = bytes_or_str output_bytes = base64.urlsafe_b64encode(input_bytes) if PY3: return output_bytes.decode('ascii') else: return output_bytes
解析数据:
常用的解析方法其实无非那么几种,我们需要将采集的数据进行分析,从html和js里解析出来。可以使用xpath解析
储存数据:
可以将解析分析出来的数据通过文件方式储存
爬虫采集过程:
class ProxyMiddleware(object): def process_request(self, request, spider): # 代理服务器(产品官网 www.16yun.cn) proxyHost = "t.16yun.cn" proxyPort = "31111" # 代理验证信息 proxyUser = "username" proxyPass = "password" request.meta['proxy'] = "http://{0}:{1}".format(proxyHost,proxyPort) # 添加验证头 encoded_user_pass = base64ify(proxyUser + ":" + proxyPass) request.headers['Proxy-Authorization'] = 'Basic ' + encoded_user_pass # 设置IP切换头(根据需求) tunnel = random.randint(1,10000) request.headers['Proxy-Tunnel'] = str(tunnel)
爬虫程序中设置目标网站,添加代理信息,添加UA信息,发出请求,获取数据,分析数据,存储数据。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/53349.html