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 网站图片的爬虫相关推荐

  1. Scrapy爬图片入门——静态网站翻页爬虫

    接上文爬图片下载: Scrapy爬图片入门--静态网站_ahc176的博客-CSDN博客 翻页: 通过观察发现url变化是非常有规律的. 修改image.py: 代码: import scrapyfr ...

  2. 织梦网站上传服务器不显示图片,织梦网站图片不显示图片

    织梦网站图片不显示图片 内容精选 换一换 在"文章列表"插件中,检查"设置 > 列表数目"的"显示文章条数"和"显示分页&q ...

  3. python获取网站图片_python获取网站图片

    # zhouxianglh 2013.05.03 python3.3 import urllib.request from html.parser import HTMLParser import r ...

  4. 网站图片优化SEO方法有哪些

    网站图片SEO不仅仅是吸引眼球,在SEO中也很重要,不管是WordPress还是其他CMS,图片水印原创性.图片大小和图片标签等,都会影响我们网站图片SEO效果.网站图片无处不在,从社交媒体到博客和网 ...

  5. 一般网站上传图片的大小是多少?网站图片上传格式大小建议 附带简单修图方法

    一般网站上传图片的大小是多少呢?尚网汇智给您列一下网站图片上传格式大小建议: 首先,上传图片格式: 通常图片以JPG图片居多,JPG格式的图片较小,图片也比较柔和 不过特殊情况就要用特殊格式的图片了 ...

  6. C#获取网页的HTML码、下载网站图片

    1.根据URL请求获取页面HTML代码 /// <summary> /// 获取网页的HTML码 /// </summary> /// <param name=" ...

  7. 简易移动端爬虫实现pixabay网站图片搜索

    有些时候你想在你的应用需要用到一些背景图片,但是没有图片啊,没有图片啊,没有图片啊..... 当然你可以在应用内内置很多的精美图片,然后就造成了一些问题:你的apk变得贼大,其次想换一些新的图片只能在 ...

  8. 抓取整个网站图片的爬虫

    为什么80%的码农都做不了架构师?>>>    写了一个抓取http://www.youwu.cc/index.html整个网站图片的爬虫,使用redis去重和任务队列,这样可以避免 ...

  9. python爬虫,g-mark网站图片数据爬取及补坑

    应用python对g-mark网站图片数据爬取,同时但对于数据抓取失败的图片进行补坑(重新爬取操作),由于是日本网站,没有梯子访问的话,特别容易访问超时,比较合适的补坑操作是直接将数据采集到数据库,而 ...

最新文章

  1. android的五大布局(layout)
  2. 数据库表设计的随笔(分库分表)
  3. ASP.NET WebAPI Get和Post 传参总结
  4. ARM系列处理器的分类
  5. 设置网页右键点击,并阻止右键点击默认事件
  6. 夜间工作致癌的原因被发现:熬夜破坏了癌症相关基因的节律,导致DNA损伤增加、修复效率降低...
  7. sass编写高质量的css---(基础语法结构)
  8. C++/C--mmap()详解
  9. Javascript中的几种继承方式比较
  10. 1120 Friend Numbers
  11. 聊聊spring for kafka对consumer的封装与集成 1
  12. 模拟登陆github
  13. Wireshark实战分析之ARP协议(二)
  14. kafka安装_kafka 安装部署教程
  15. 安装CAJViewer时遇到注册模块出现1904错误解决方法
  16. 3个开源音乐播放器:Aqualung,Lollypop和GogglesMM
  17. 我们需要有创业精神,但不是每个人都要去创业
  18. 【案例实战】不会慢 SQL优化?收藏一下这个例子
  19. 农场世界农场游戏开发
  20. 滤波电容为什么要靠近放置,储能电容为什么均匀放置?去耦半径是什么?滤波电容如何打孔?

热门文章

  1. 采用面向对象的方法来实现留言板的添加和删除功能
  2. 网页设计中的灰色调配色技巧
  3. python数据分析优势-用Python做数据分析有哪些优势?
  4. 全球及中国3D打印材料行业运营动态及投资价值分析报告2021年版
  5. python数据分析项目实战波士顿房价预测——手写梯度下降法
  6. 五种网络I/O模型详解
  7. linux服务器重启日志,Linux系统最近重启时间、错误日志
  8. html给数字加货币单位,WPS如何批量给数字添加货币符号?
  9. 启用计算机双通道内存的方法,如何正确开启双通道
  10. 在html中怎么设置段落的边框线,Word怎么设置文字段落边框和底纹