赞
踩
爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
更详细的文档可以参考 这里
- # -*- coding:gb2312 -*-
- import requests
- import re
- from urllib import parse
- import os
- i = 1
- directory = 1
- class BaiduImageSpider(object):
- def __init__(self):
- self.url = 'https://image.baidu.com/search/flip?tn=baiduimage&width=&height=&word={}'
- self.headers = {'User-Agent':'Mozilla/4.0'}
-
- # 获取图片
- def get_image(self,url,word):
- global i
- global directory
- #使用 requests模块得到响应对象
- res= requests.get(url,headers=self.headers)
- # 更改编码格式
- res.encoding="utf-8"
- # 得到html网页
- html=res.text
- print(html)
- #正则解析
- pattern = re.compile('"hoverURL":"(.*?)"',re.S)
- img_link_list = pattern.findall(html)
- #存储图片的url链接
- print(img_link_list)
-
-
- #添加计数
- for img_link in img_link_list:
- filename = '{}{}_{}.ico'.format(directory, word, i)
- self.save_image(img_link,filename)
- i += 1
- #下载图片
- def save_image(self,img_link,filename):
- html = requests.get(url=img_link,headers=self.headers).content
- with open(filename,'wb') as f:
- f.write(html)
- print(filename,'下载成功')
-
- # 入口函数
- def run(self):
- word = input("您想要谁的照片?")
- page = input("您想要爬取多少页?")
- word_parse = parse.quote(word)
- # 创建目录,用于保存图片
- global directory
- directory = 'C:/Users/Administrator/Desktop/image/{}/'.format(word)
- # 如果目录不存在则创建,此方法常用
- if not os.path.exists(directory):
- os.makedirs(directory)
- for x in range(1,int(page)+1):
- url = self.url.format(word_parse)+"&pn="+str(((x-1)*60))
- self.get_image(url,word)
- global i
- i=1
-
- if __name__ == '__main__':
- spider = BaiduImageSpider()
- spider.run()
注意,图片格式可以随意更改
每页为60张图片
图片存储路径也可以随意更改
可以参考Python打包exe
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。