前几天在网上看了些爬虫视屏,所以自己也亲手试了下,主要是环境搭建比较麻烦,但代码相当简单,接下来开始进行爬虫吧!
第一步,先搭建好环境,我用的是python3.3.3和urllib3。urllib3包需要自己搭建。但安装包需要用到pip工具,这里是其他人写的一篇pip安装的博文,附上链接。
https://www.cnblogs.com/allan-king/p/5445879.html然后是装urllib3包,这个需要到官网下载,附上链接https://pypi.org/project/urllib3/#files,我选的是Wheel类型的。下载到./python3.3.3/Scripts/ 命令行输入
python -m pip install urllib3
安装成功后,就可以导入urllib3包了。第二步,找到一个目标网址,也就是要爬取内容的网页,我选择的是http://www.doutula.com/article/list/?page=1",我们想从这个网址上爬取图片链接。分析网页html内容后,发现图片链接旁边内容为
data-original="http://img.doutula.com/production/uploads/image//2018/06/21/20180621549184_XsjZBx.gif!dta" data-backup="http://img.doutula.com/production/uploads/image//2018/06/21/20180621549184_XsjZBx.gif!dta" alt="捏脸">
怎样从html内容中提取有用信息呢,想到了正则表达式,以下附上所有源码
import urllib3 #导入urllib3包
import re #导入re包
#获取网站某页数据
def getText(page_number):
#实例化
http = urllib3.PoolManager()
#访问网站
page = http.request('GET',"http://www.doutula.com/article/list/?page="+str(page_number))
#处理数据为UTF-8类型字符
html = page.data.decode('utf-8')
#正则表达式,括号中的为有用数据
reg = "data-original=(.*?) data-backup"
reg += ".*?"
reg += "alt=(.*?)>"
#html内容匹配正则表达式
page = re.compile(reg)
artlist = re.findall(page,html)
#循环输出结果列表
for arts in artlist:
print(arts)
#获取第四页数据
#getText(4)
#获取第一页到第100页数据
for i in range(1,101):
getText(i)