写python爬虫程序需要注意两件事儿,使用headers和代理。
headers可以将程序伪装成浏览器,应对网站的反爬虫 程序
代理有两点好处:1、让服务器以为不是同一个客户端在请求;2防止我们的真实地址被泄露,防止被追究。
见一个小例子:
import requests
# 代理
proxies = {"http": "http://120.77.201.46:80"}
# 请求头,将自己的程序伪装成浏览器
headers = {"User-Agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) \
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Mobile Safari/537.36"}
response = requests.get("http://www.baidu.com", proxies=proxies, headers=headers)
print(response.status_code)
怎么给headers赋值?使用一个浏览器打开一个网页,按下F12查看网页源码,点击network选项卡,点开一个get或者post请求,找到请求头下面的User-Agent,它的值就是headers对应的值:
好像python中还有一个专门的模块提供多个http请求头,暂时还没学到此处。学到了 我会回来更新的