python3.5学习笔记一个简单的图片爬虫

参考资料:http://v.qq.com/boke/page/q/g/t/q01713cvdgt.html

目的:爬取网站图片

实际上以上链接的视频中已经将整个过程说的非常明白了,稍微有点计算机基础的人想来都不难实现。

所以,废话不多说,直接粘我写的脚本了事,有问题看视频即可。

#################################################################3

import os,requests,urllib.request
from bs4 import BeautifulSoup

header = {'User-Agent':'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', #这两个参数user-agent以及cookie,随便找一个有“开发者工具”功能的浏览器都可以看到,视频里有讲到,这我就不暴露了
'Cookie':'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'}
folter_path = 'E://temp/xxxxxx/'

def make_file(path): #创建文件夹的函数,并返回一个图片存贮路径
if not os.path.isdir(folter_path):
os.mkdir(folter_path)
t = os.path.join(folter_path,str(path) + '/')
if not os.path.isdir(t):
os.mkdir(t)
return t

def down_pic(start_num,end_num,type): #爬取图片的函数,参数是:起始页,结束页,下载类型
for num in range(int(start_num),int(end_num)):
url = 'http://xxxxxx.net/ooxx/page-{}'.format(num) #具体网址见视频吧,或者自己找一个也可以,这个随意。
source_code = requests.get(url,headers = header)
plain_txt = source_code.text
Soup = BeautifulSoup(plain_txt)
download_link = []
print('get' + str(num))

for pic_tag in Soup.find_all('img'):
pic_link = pic_tag.get(str(type))
download_link.append(pic_link)

while None in download_link: #这块实际上用处不大,因为用type做了区分,不会产生垃圾数据,不过懒得去掉了。
download_link.remove(None)

for item in download_link: #下载图片
urllib.request.urlretrieve(item,pic_path + item[-10:])

start_num = 1760
end_time = 1767
type = {'jpg':'src','gif':'org_src'} #类型字典

pic_path = make_file(type['gif'])
down_pic(start_num,end_time,type['gif'])

##################################################################################
代码比视频教程多的东西,是以下几个方面:
1、增加了创建图片存贮路径的函数和功能,并对下载类型做了区分。
2、分类型下载图片,如果你使用src区分,是下载不了完整的gif图的,这个自行发现吧。
3、额,感谢视频作者吧,既然视频作者是公开发出的,我这发出链接应该还OK吧
原文地址:https://www.cnblogs.com/liujian001/p/5145388.html