资源简介
Python程序,根据关键字爬虫谷歌,百度,必应上相关图片
代码片段和文件信息
import json
import itertools
import urllib
import requests
import os
import re
import sys
download_path = “dataset/“
str_table = {
‘_z2C$q‘: ‘:‘
‘_z&e3B‘: ‘.‘
‘AzdH3F‘: ‘/‘
}
char_table = {
‘w‘: ‘a‘
‘k‘: ‘b‘
‘v‘: ‘c‘
‘1‘: ‘d‘
‘j‘: ‘e‘
‘u‘: ‘f‘
‘2‘: ‘g‘
‘i‘: ‘h‘
‘t‘: ‘i‘
‘3‘: ‘j‘
‘h‘: ‘k‘
‘s‘: ‘l‘
‘4‘: ‘m‘
‘g‘: ‘n‘
‘5‘: ‘o‘
‘r‘: ‘p‘
‘q‘: ‘q‘
‘6‘: ‘r‘
‘f‘: ‘s‘
‘p‘: ‘t‘
‘7‘: ‘u‘
‘e‘: ‘v‘
‘o‘: ‘w‘
‘8‘: ‘1‘
‘d‘: ‘2‘
‘n‘: ‘3‘
‘9‘: ‘4‘
‘c‘: ‘5‘
‘m‘: ‘6‘
‘0‘: ‘7‘
‘b‘: ‘8‘
‘l‘: ‘9‘
‘a‘: ‘0‘
}
# str 的translate方法需要用单个字符的十进制unicode编码作为key
# value 中的数字会被当成十进制unicode编码转换成字符
# 也可以直接用字符串作为value
char_table = {ord(key): ord(value) for key value in char_table.items()}
# 解码图片URL
def decode(url):
# 先替换字符串
for key value in str_table.items():
url = url.replace(key value)
# 再替换剩下的字符
return url.translate(char_table)
# 生成网址列表
def buildUrls(word):
word = urllib.parse.quote(word)
url = r“http://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&fp=result&queryWord={word}&cl=2&lm=-1&ie=utf-8&oe=utf-8&st=-1&ic=0&word={word}&face=0&istype=2nc=1&pn={pn}&rn=60“
urls = (url.format(word=word pn=x) for x in itertools.count(start=0 step=60))
return urls
# 解析JSON获取图片URL
re_url = re.compile(r‘“objURL“:“(.*?)“‘)
def resolveImgUrl(html):
imgUrls = [decode(x) for x in re_url.findall(html)]
return imgUrls
def downImg(imgUrl dirpath imgName):
filename = os.path.join(dirpath imgName)
try:
res = requests.get(imgUrl timeout=15)
if str(res.status_code)[0] == “4“:
print(str(res.status_code) “:“ imgUrl)
return False
except Exception as e:
print(“ This is Exception:“ imgUrl)
print(e)
return False
with open(filename “wb“) as f:
f.write(res.content)
return True
def mkDir(dirName):
#dirpath = os.path.join(sys.path[0] dirName)
dirpath = os.path.join(download_path dirName)
if not os.path.exists(dirpath):
os.mkdir(dirpath)
return dirpath
def crawl_data(urls):
index = 0
for url in urls:
print(“requesting:“ url)
html = requests.get(url timeout=10).content.decode(‘utf-8‘)
imgUrls = resolveImgUrl(html)
if len(imgUrls) == 0: # 没有图片则结束
break
for url in imgUrls:
if downImg(url dirpath str(index) + “.jpg“):
index += 1
print(“Downloaded %s picture“ % index)
if index==10:#最大下载图片数
return
return
if __name__ == ‘__main__‘:
print(“Welcome !!! \n Now it only one word“)
print(“Download in results“)
print(“=“ * 50)
word = input(“Please input your word:\n“)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 404 2018-11-19 17:42 spider_images\.idea\inspectionProfiles\Project_Default.xm
文件 204 2018-11-15 15:43 spider_images\.idea\misc.xm
文件 273 2018-11-14 18:29 spider_images\.idea\modules.xm
文件 24723 2018-11-19 18:26 spider_images\.idea\workspace.xm
文件 16883 2018-11-19 12:49 spider_images\download.log
文件 3576 2018-11-19 18:14 spider_images\down_baidu_img.py
文件 2691 2018-11-19 18:14 spider_images\down_bing_img.py
文件 3054 2018-11-19 18:22 spider_images\down_google_img.py
文件 399336 2018-11-19 14:24 spider_images\Firefox-latest.exe
文件 16976488 2018-10-04 13:18 spider_images\geckodriver.exe
文件 8497 2018-11-19 18:23 spider_images\geckodriver.log
文件 410 2018-11-15 15:43 spider_images\spider_images.iml
文件 55 2018-11-15 15:39 spider_images\venv\Lib\site-packages\easy-install.pth
文件 1 2018-11-15 15:39 spider_images\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\EGG-INFO\dependency_li
文件 98 2018-11-15 15:39 spider_images\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\EGG-INFO\entry_points.txt
文件 2 2018-11-15 15:39 spider_images\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\EGG-INFO\not-zip-safe
文件 2972 2018-11-15 15:39 spider_images\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\EGG-INFO\PKG-INFO
文件 74 2018-11-15 15:39 spider_images\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\EGG-INFO\requires.txt
文件 12502 2018-11-15 15:39 spider_images\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\EGG-INFO\SOURCES.txt
文件 4 2018-11-15 15:39 spider_images\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\EGG-INFO\top_level.txt
文件 14014 2018-11-15 15:39 spider_images\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\ba
文件 8764 2018-11-15 15:39 spider_images\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\ba
文件 2773 2018-11-15 15:39 spider_images\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\build_env.py
文件 7023 2018-11-15 15:39 spider_images\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\cache.py
文件 16679 2018-11-15 15:39 spider_images\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\cmdoptions.py
文件 1500 2018-11-15 15:39 spider_images\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\commands\check.py
文件 3018 2018-11-15 15:39 spider_images\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\commands\completion.py
文件 7343 2018-11-15 15:39 spider_images\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\commands\configuration.py
文件 9092 2018-11-15 15:39 spider_images\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\commands\download.py
文件 3320 2018-11-15 15:39 spider_images\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\commands\freeze.py
............此处省略387个文件信息
相关资源
- python学生管理系统.zip
- PCA 算法实验代码python
- Text.Analytics.with.Python
- python版植物大战僵尸源码
- python的计量经济学
- 人体姿态检测
- Python for Data Analysis 2nd Edition 英文高清
- faster rcnn(python+caffe)源代码
- python-2.7.16中文文档 chm版
- Python DBC LIB
- 基于python3 与openCV的面部表情识别
- Python程序设计与算法基础教程
- 机器学习实战 Python实现
- Python for ProbabilityStatisticsand Machine Le
- 《Rapid GUI Programming with Python and Qt》
- pandas-0.9.0.win32-py2.7.exe
- 安全帽检测detect.7z
- python语言程序设计. 梁勇. 李娜译-习题
- python+OpenCV实现全景图像拼接和图像黑
- pythoncookbook
- PYTHON自然语言处理中文版.pdf
- Python做文本情感分析之情感极性分析
- 恐龙酷跑素材、音频和源码,请自行
- imageio-2.5.0-py3-none-any.whl
- wxpython中文文档
- python easyGui中文学习文档
- python pygame实现的简单的网游服务器端
- 笨办法学Python(第四版)
- Python Cookbook(第3版)高清中文完整版
- Twisted-19.10.0-cp38-cp38-win_amd64.whl
评论
共有 条评论