Python相关的一些知识 —— 爬虫防屏蔽之代理服务器
避免被封 IP,添加代理服务器进行爬取。
#用代理爬取 import urllib.request def use_proxy(url,proxy_addr): proxy=urllib.request.ProxyHandler({"http":proxy_addr}) opener=urllib.request.build_opener(proxy,urllib.request.HTTPHandler) urllib.request.install_opener(opener) data=urllib.request.urlopen(url) return data proxy_addr="112.115.57.20:3128" url="http://www.baidu.com" use_proxy(url,proxy_addr)
实战案例:
#爬取千图网最新模块的图片内容
import urllib.request import re headers=("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36") opener=urllib.request.build_opener() opener.addheaders=[headers] urllib.request.install_opener(opener) for i in range(1,21): url="http://www.58pic.com/zuixin/0-0-new-"+str(i)+".html" data = urllib.request.urlopen(url).read().decode('utf-8','ignore') pat = '<img src="(.*?).jpg!qt324"' imagurls = re.compile(pat).findall(data) for j in range(0,len(imagurls)): thisimag=imagurls[j] thisimagurl=thisimag+".jpg" file="E:\ww_python_practices\qiantu/"+str(i)+str(j)+".jpg" urllib.request.urlretrieve(thisimagurl,file) # 运行爬取成功!!!激动!!!第一次爬下来的内容啊!!! #此刻,2018年4月25日 凌晨 1.11 毫无睡意呵呵呵呵
贴上成果图,尽管很丑,但也是自己的孩子啊,美滴很!!!
