1.使用User-Agent--代表身份
直接用urllib2(python3使用代替urllib.request)给一个网站发送请求的话,确实略有些唐突了,就好比,人家每家都有门,你以一个路人的身份直接闯进去显然不是很礼貌。而且有一些站点不喜欢被程序(非人为访问)访问,有可能会拒绝你的访问请求。
但是如果我们用一个合法的身份去请求别人网站,显然人家就是欢迎的,所以我们就应该给我们的这个代码加上一个身份,就是所谓的User-Agent头。
具体参考代码:
from urllib.request import Request,urlopen
ua_header = {
"User-Agent" : "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;"}
request = Request("http://www.baidu.com",headers=ua_header)
#urlopen()函数,url是必须要传入的,data如果传入就是POST请求,如果不传就是GETT请求
response = urlopen(request)
#到服务器返回的数据,读取里面的全部内容
response_data = response.read()
#打印返回的数据
print(response_data.decode("utf-8"))
2.随机选择ip
如果代理IP足够多,就可以像随机获取User-Agent一样,随机选择一个代理去访问网站