当前位置 : 主页 > 编程语言 > python >

九行代码带你爬取任何你想要爬取的图片

来源:互联网 收集:自由互联 发布时间:2022-06-15
首先,我们直接用的是icrawler这个爬取的模块,简直是太方便了,用不着再去分析网页,用不着再去写正则。。都不用,一个循环遍历就行,模块给我们封装好了。 解释下,我注释掉的

首先,我们直接用的是icrawler这个爬取的模块,简直是太方便了,用不着再去分析网页,用不着再去写正则。。都不用,一个循环遍历就行,模块给我们封装好了。
解释下,我注释掉的部分分别是百度和谷歌的这个搜索引擎模块(我这这么叫的)吧,看那个英文单词crawler就是爬虫的意思,我在这里用的是bing的爬虫。你们要用别的爬虫也可以的。
第一步代码:我定义的这个列表。列表的话,我们可以任意添加多少,添加你任何想要爬取的图片。举个例子,我想要爬取张杰,林俊杰,周杰伦他们的图片,那我们就在列表里面分别添加这三个人的,注意分开哈,看我代码,我是分开了的。(偷偷说一下,想要爬取美女帅哥图片,可以直接列表中装个’美女’,‘帅哥’,哈哈)
第二步:遍历这个列表,然后在下面顶一个我们要保存的路径,我是装在一个photo的文件夹,不用自己取建立文件夹,就在代码里面把定义好自己的文件夹名字,运行完成后会生成文件夹。我这里是运行完成后生成photo文件夹,这个文件夹下两个子文件夹,分别为李现和陈晓的文件夹。
第三步就是用这个模块,定义解析器数目和下载线程数,建议别太大,我觉得可能会被封ip.一般五六个差不多了。
最后一步就是根据关键字和图片数量进行开始爬取。

这是不是很好学的一个爬虫技巧?学会了点个赞加个关注好嘛

# from icrawler.builtin import BaiduImageCrawler
from icrawler.builtin import BingImageCrawler
# from icrawler.builtin import GoogleImageCrawler
#需要爬取的关键字
list_word = ['李现','陈晓']
for word in list_word:
#bing爬虫
#保存路径
bing_storage = {'root_dir':'photo\\'+word}#photo为主文件名,可以修改为别的名称,,列表有多少个,我们就在主列表产生
#从上到下依次是解析器线程数,下载线程数,还有上面设置的保存路径
bing_crawler = BingImageCrawler(parser_threads=4,
downloader_threads=8,
storage=bing_storage)
#开始爬虫,关键字+图片数量
bing_crawler.crawl(keyword=word,
max_num=200)

#百度爬虫
# baidu_storage = {'root_dir': 'baidu\\' + word}
# baidu_crawler = BaiduImageCrawler(parser_threads=2,
# downloader_threads=4,
# storage=baidu_storage)
# baidu_crawler.crawl(keyword=word,
# max_num=2000)


# google爬虫
# google_storage = {'root_dir': '‘google\\' + word}
# google_crawler = GoogleImageCrawler(parser_threads=4,
# downloader_threads=4,
# storage=google_storage)
# google_crawler.crawl(keyword=word,
# max_num=2000)

展示运行效果图:
九行代码带你爬取任何你想要爬取的图片_python

我是川川,在校大二学生,希望给你带来帮助。最近建立的学习群:970353786


网友评论