看到有个网友写了爬取当当网python书籍的图片,自己也想试一下,虽然经常看爬虫文章,可是很少动手试,就花了点时间弄了下
#incoding:utf8
'''
Created on 2017年2月14日
@author: susu
'''
import requests
import re
'''
网页搜索当当网python书籍发现只有19页,页面只有最后一个数字不同
就先拼接了所有的完整url
'''
def getallUrl(baseurl):
urls=[]
for i in range(1,20):
fullurl=baseurl+str(i)
urls.append(fullurl)
prasecontent(urls)
'''
图片有两种格式 src 和 data-original
findall返回数据类型为list,定义list存储所有图片链接
'''
def prasecontent(urls):
pic_url=[]
for url in urls:
content=requests.get(url).text
pic_url1=re.findall( "pic_url2 = re.findall("img data-original='(.*?)' src",content)
pic_url.extend(pic_url2)
downloadimg(pic_url)
def downloadimg(pic_url):
i=1
pic_urls=set(pic_url)#使用set过滤重复的图片链接
for url in pic_urls:
print str(i)+"downloading:"+url
pic=requests.get(url)
filename="image/"+str(i)+'.jpg'#定义图片保存名称
fp=open(filename,'wb')
fp.write(pic.content)
fp.close()
i=i+1
if __name__ == '__main__':
getallUrl("python-当当网")