简单图片爬虫
import re
import urllib.request
def craw(url,page):
html1=urllib.request.urlopen(url).read()
html1=str(html1)
pat1='<div id="plist".+? <div class="page clearfix">'
result1=re.compile(pat1).findall(html1)
#print(result1)
result1=result1[0]
pat2='<img width="220" height="220" data-img="1" data-lazy-img="//(.+?.jpg)">'
imagelist=re.compile(pat2).findall(result1)
print(imagelist)
x=1
for imageurl in imagelist:
imagename="/root/img1/" +str(page) + str(x) +".jpg"
print(imagename)
imageurl="http://" + imageurl
try:
urllib.request.urlretrieve(imageurl,filename=imagename)
except urllib.error.URLError as e:
if hasattr(e,"code"):
x+=1
if hasattr(e,"reason"):
x+=1
x+=1
for i in range(1,79):
url="http://list.jd.com/list.html?cat=9987,653,655&page=" + str(i)
craw(url,i)
~
爬取过程,首先通过urllib.request.urlopen(url).read(),读取对应网页的全部源代码,然后根据上面的第一个正则表达式进行第一次信息过滤,过滤完成后,进行第二次过滤,找出所有目标的图片链接,将这些链接地址存储到一个列表中,然后遍历该列表,并将对应链接通过urllib.request.urlretrieve(imageurl,filename=imagename)存储到本地。

浙公网安备 33010602011771号