Google图片和NASA 网站图片的爬虫
1.根据关键字爬取NASA网站上的图片
首先针对需要爬取的网站进行分析,输入关键字查找需要的内容
通过关键字请求,网页每次会加载20张的缩略图,分析网页源码能够很容易的找到缩略图的url:
然后再点开缩略图,会链接的另一个网页,从这里可以分析出更高分辨率大图的url:
最后根据取得的url地址下载原图就可以了,下面附上源代码
# -*- coding: utf-8 -*-
import urllib
import requests
from bs4 import BeautifulSoup
import re
import jsondef getUrl(keyword):user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:53.0) Gecko/20100101 Firefox/53.0'results = requests.get("https://nasasearch.nasa.gov/search/images",params={'affiliate': 'nasa', 'query': keyword},headers={'User-Agent': user_agent})results.encoding = 'utf-8's = requests.session()s.keep_alive = Falsesoup = BeautifulSoup(results.text, 'lxml')# 获取网页中的所有div ,class=url的文本for link in soup.find_all('div', class_='url'):# 拼接urlhtml = requests.get('https://'+link.text)soup1 = BeautifulSoup(html.text, 'lxml')# 获取字段data = soup1.find('script', attrs={"type": "application/ld+json"})# json字符串转换为字典jsonobj = json.loads(data.text)# 从json块中获取图片地址imageUrl = jsonobj['@graph'][0]['image']['url']namelist = imageUrl.split('/')# 获取图片名称name = namelist[-1].split('.')[0]downloadImage(imageUrl, name)def downloadImage(imageUrl, name):path = 'D:/space/'print(name)if imageUrl is not None:try:image_file = requests.get(imageUrl, stream=True, timeout=9)except requests.exceptions.RequestException:print('网络异常')# else:# if image_file.status_code is not requests.codes.ok:#print('{}'.format(imageUrl) + '链接为空!')else:image_file_path = '{}{}.jpg'.format(path, name)print('正在下载:' + '{}.jpg'.format(name))with open(image_file_path, 'wb') as f:f.write(image_file.content)print('下载完成!')if __name__ == "__main__":keyword = input()getUrl(keyword)
2.爬取谷歌图片
这里主要使用了一个开源代码,爬虫作者github地址:https://github.com/YoongiKim/AutoCrawler
爬虫的效果还是很不错的,具体的使用作者在主页也详细的说明了
转载于:https://www.cnblogs.com/wy-blogs/p/10735757.html
Google图片和NASA 网站图片的爬虫相关推荐
- Scrapy爬图片入门——静态网站翻页爬虫
接上文爬图片下载: Scrapy爬图片入门--静态网站_ahc176的博客-CSDN博客 翻页: 通过观察发现url变化是非常有规律的. 修改image.py: 代码: import scrapyfr ...
- 织梦网站上传服务器不显示图片,织梦网站图片不显示图片
织梦网站图片不显示图片 内容精选 换一换 在"文章列表"插件中,检查"设置 > 列表数目"的"显示文章条数"和"显示分页&q ...
- python获取网站图片_python获取网站图片
# zhouxianglh 2013.05.03 python3.3 import urllib.request from html.parser import HTMLParser import r ...
- 网站图片优化SEO方法有哪些
网站图片SEO不仅仅是吸引眼球,在SEO中也很重要,不管是WordPress还是其他CMS,图片水印原创性.图片大小和图片标签等,都会影响我们网站图片SEO效果.网站图片无处不在,从社交媒体到博客和网 ...
- 一般网站上传图片的大小是多少?网站图片上传格式大小建议 附带简单修图方法
一般网站上传图片的大小是多少呢?尚网汇智给您列一下网站图片上传格式大小建议: 首先,上传图片格式: 通常图片以JPG图片居多,JPG格式的图片较小,图片也比较柔和 不过特殊情况就要用特殊格式的图片了 ...
- C#获取网页的HTML码、下载网站图片
1.根据URL请求获取页面HTML代码 /// <summary> /// 获取网页的HTML码 /// </summary> /// <param name=" ...
- 简易移动端爬虫实现pixabay网站图片搜索
有些时候你想在你的应用需要用到一些背景图片,但是没有图片啊,没有图片啊,没有图片啊..... 当然你可以在应用内内置很多的精美图片,然后就造成了一些问题:你的apk变得贼大,其次想换一些新的图片只能在 ...
- 抓取整个网站图片的爬虫
为什么80%的码农都做不了架构师?>>> 写了一个抓取http://www.youwu.cc/index.html整个网站图片的爬虫,使用redis去重和任务队列,这样可以避免 ...
- python爬虫,g-mark网站图片数据爬取及补坑
应用python对g-mark网站图片数据爬取,同时但对于数据抓取失败的图片进行补坑(重新爬取操作),由于是日本网站,没有梯子访问的话,特别容易访问超时,比较合适的补坑操作是直接将数据采集到数据库,而 ...
最新文章
- android的五大布局(layout)
- 数据库表设计的随笔(分库分表)
- ASP.NET WebAPI Get和Post 传参总结
- ARM系列处理器的分类
- 设置网页右键点击,并阻止右键点击默认事件
- 夜间工作致癌的原因被发现:熬夜破坏了癌症相关基因的节律,导致DNA损伤增加、修复效率降低...
- sass编写高质量的css---(基础语法结构)
- C++/C--mmap()详解
- Javascript中的几种继承方式比较
- 1120 Friend Numbers
- 聊聊spring for kafka对consumer的封装与集成 1
- 模拟登陆github
- Wireshark实战分析之ARP协议(二)
- kafka安装_kafka 安装部署教程
- 安装CAJViewer时遇到注册模块出现1904错误解决方法
- 3个开源音乐播放器:Aqualung,Lollypop和GogglesMM
- 我们需要有创业精神,但不是每个人都要去创业
- 【案例实战】不会慢 SQL优化?收藏一下这个例子
- 农场世界农场游戏开发
- 滤波电容为什么要靠近放置,储能电容为什么均匀放置?去耦半径是什么?滤波电容如何打孔?
热门文章
- 采用面向对象的方法来实现留言板的添加和删除功能
- 网页设计中的灰色调配色技巧
- python数据分析优势-用Python做数据分析有哪些优势?
- 全球及中国3D打印材料行业运营动态及投资价值分析报告2021年版
- python数据分析项目实战波士顿房价预测——手写梯度下降法
- 五种网络I/O模型详解
- linux服务器重启日志,Linux系统最近重启时间、错误日志
- html给数字加货币单位,WPS如何批量给数字添加货币符号?
- 启用计算机双通道内存的方法,如何正确开启双通道
- 在html中怎么设置段落的边框线,Word怎么设置文字段落边框和底纹