赞
踩
最近抽空学习了python爬虫,为了巩固知识,就顺手写了一个小程序,可以爬取百度、搜狗、必应这三大网站的图片。
程序放在github上,地址为:https://github.com/taojianglong/python-crawler
多线程爬取图片github地址为:https://github.com/taojianglong/multi_thread_crawler
下载程序后,解压crawler_spider.zip,直接运行文件夹中的crawler_img.py文件。然后根据自己需要下载图片。
该程序只是为了方便以后回顾,以及为需要此文件的人提供一点帮助,如有不足之处,请指正。
部分代码如下:
- import os
- import requests
- from baidu_img import baidu_pic_url
- from sougou_img import sougou_pic_url
- from biying_img import biying_pic_url
-
- class Crawler():
- def __init__(self, num, keyword, engine):
- self.num = num
- self.keyword = keyword
- self.engine = engine
-
- def down_img(self):
- if self.engine == 'baidu':
- pic_url = baidu_pic_url(self.num, self.keyword)
- elif self.engine == 'sougou':
- pic_url = sougou_pic_url(self.num, self.keyword)
- elif self.engine == 'biying':
- pic_url = biying_pic_url(self.num, self.keyword)
- else:
- print('错误的搜索引擎,请重新运行,输入:baidu、sougou、biying')
-
- if os.path.exists('D:/图片/' + self.engine + '/' + self.keyword):
- pass
- else:
- os.makedirs('D:/图片/' + self.engine + '/' + self.keyword)
-
- path = 'D:/图片/' + self.engine + '/'
- for index, i in enumerate(pic_url):
- try:
- filename = path + self.keyword + '/' + str(index) + '.jpg'
- print(filename)
- with open(filename, 'wb+') as f:
- f.write(requests.get(i).content)
- except:
- continue
-
- if __name__ == '__main__':
- keyword = str(input('请搜索关键词:(如:美女)'))
- num = int(input('请输入爬取图片数目:'))
- engine = str(input('请输入:baidu, sougou, biying其中之一'))
- crawler = Crawler(num, keyword, engine)
- crawler.down_img()

详细代码请移步github,下载完整代码。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。