配置爬虫的一个工具
Fiddler抓取HTTPS设置
1. 启动Fiddler,打开菜单栏中的 Tools > Telerik Fiddler Options,打开“Fiddler Options”对话框。
2. 对Fiddler进行设置:
打开工具栏->Tools->Fiddler Options->HTTPS,
选中Capture HTTPS CONNECTs (捕捉HTTPS连接),
选中Decrypt HTTPS traffic(解密HTTPS通信)
另外我们要用Fiddler获取本机所有进程的HTTPS请求,所以中间的下拉菜单中选中...from all processes (从所有进程)
选中下方Ignore server certificate errors(忽略服务器证书错误)
3. 为Fiddler 配置Windows信任这个根证书解决安全警告:Trust Root Certificate(受信任的根证书)。
4. Fiddler主菜单 Tools -> Fiddler Options…-> Connections
选中Allow remote computers to connect(允许远程连接)
Act as system proxy on startup(作为系统启动代理)
5. 重启Fiddler,使配置生效(这一步很重要,必须做)。
配置好之后我们需要对浏览器扩展
1. 安装SwitchyOmega 代理管理 Chrome 浏览器插件
2. 如图所示,设置代理服务器为127.0.0.1:8888 注意这个端口号一定要与你上面设置的一样
3. 通过浏览器插件切换为设置好的代理。
Fiddler界面
设置好后,本机HTTP通信都会经过127.0.0.1:8888代理,也就会被Fiddler拦截到。
其实在windows和linux系统都可以爬虫
在linux系统下 第一种方法,因为请求一般不能修改所以用的不多
import urllib.request
#给服务器发送请求,并接收服务器的响应内容
response=urllib.request.urlopen('http://www.sina.com.cn/')
#可以阅读一下响应内容
context=response.read()
print(context)
with open('xinlang.html','wb') as file:
file.write(context)
第二种方法。可以更好的伪装,把服务器中的请求变成字典伪装自己的请求
import urllib.request
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36'
}
#先发送
request=urllib.request.Request(url='http://www.sina.com.cn/',headers=headers)
#再接收
response=urllib.request.urlopen(url=request)
#把接收内容写成一份文件
context=response.read()
print(context)
with open('新浪.html','wb') as file:
file.write(context)
'''
url编码和解码
'''
import urllib.parse
import urllib.request
infos={
'p1':'老王',
'p2':123,
'p3':'?3=39'
}
content = urllib.parse.urlencode(infos)
print(content)
print(urllib.parse.unquote(content))
content = urllib.parse.quote('老王')
print(content)
print(urllib.parse.unquote(content))
content = urllib.request.quote('老王')
print(content)
print(urllib.request.unquote(content))