这里讲解最简单的爬虫:从网页源代码中找出图片链接然后下载

代码:

#coding=utf-8
#必应图片爬虫
import re
import os
import urllib.request
url = 'http://cn.bing.com/images/search?q=usb+pen&FORM=HDRSC2'
coding = 'utf-8'
thepath = 'D:\\'def get():try:html = urllib.request.urlopen(url).read().decode(coding)except:print('error')print(url)returntitle = re.search("<title>.*</title>", html).group()title = title[7:-20]pic_url = re.findall('http://.{1,100}.jpg|http://.{1,100}.png|http://.{1,100}.jpeg',str(html),re.IGNORECASE)pic_url = list(set(pic_url))path = thepath + titletry:os.mkdir(path)except:returni = 1for each in pic_url:try:pic= urllib.request.urlopen(each,timeout=10).read()except:continuefile = path + '\\' + title + str(i) + '.jpg'fp = open(file,'wb')fp.write(pic)fp.close()i=i+1if not os.listdir(path):os.removedirs(path)print('error')print(url)get()

解释:

(1)urlopen是打开url对应的网页,获取源代码

(2)title是网页标题,利用正则表达式从源代码中获取标题

(3)pic_url是图片url的列表,方法比较简单,直接取出以http://开头以jpg结尾的字符串,中间的长度在1-100之间,因为不同图片的url在网页源代码中是隔开的,所以这个简单的正则表达式匹配以jpg结尾的url的准确率很高,如果是jpeg等等,只要用re1|re2就行,但是对于一些奇怪的url,不以图片后缀作为图片url的后缀,那就找不到它

(4)path是要创建的文件夹路径,文件夹名字就是title

(5)再用urlopen就可以直接打开图片url下载图片,所有图片都用title1,title2...命名

(6)最后一步,如果创建了文件夹但是没有下载图片,就把文件夹删掉

python爬虫一:必应图片(从网页源代码中找出图片链接然后下载)相关推荐

  1. python爬虫基础教程115_Python解析网页源代码中的115网盘链接实例

    本文实例讲述了python解析网页源代码中的115网盘链接的方法.分享给大家供大家参考.具体方法分析如下: 其中的1.txt,是网页http://bbs.pediy.com/showthread.ph ...

  2. Python 爬虫入门(1)获取豆瓣网页源代码

    import urllib.request    #引入第三方模块 url = "http://www.douban.com"   #每一个网页都有一个唯一的名称标识 通常称为UR ...

  3. Python爬虫第一步之获取网页源代码

    软件使用:Python2.7 +Pycharm,稍后使用Python3.5+notepad++试试 #coding: utf-8 import urllibdef getHtml(url):page ...

  4. Python爬虫:Xpath爬取网页信息(附代码)

    Python爬虫:Xpath爬取网页信息(附代码) 上一次分享了使用Python简单爬取网页信息的方法.但是仅仅对于单一网页的信息爬取一般无法满足我们的数据需求.对于一般的数据需求,我们通常需要从一个 ...

  5. Python爬虫:运用多线程、IP代理模块爬取百度图片上小姐姐的图片

    Python爬虫:运用多线程.IP代理模块爬取百度图片上小姐姐的图片 1.爬取输入类型的图片数量(用于给用户提示) 使用过百度图片的读者会发现,在搜索栏上输入关键词之后,会显示出搜索的结果,小编想大多 ...

  6. Python爬虫4.2 — ajax(动态网页数据抓取)用法教程

    Python爬虫4.2 - ajax[动态网页数据]用法教程 综述 AJAX 介绍 什么是AJAX 实例说明 请求分析 获取方式 实例说明 其他博文链接 综述 本系列文档用于对Python爬虫技术的学 ...

  7. Python爬虫:利用JS逆向抓取携程网景点评论区图片的下载链接

    Python爬虫:利用JS逆向抓取携程网景点评论区图片的下载链接 1. 前言 2. 实现过程 3. 运行结果 1. 前言 文章内容可能存在版权问题,为此,小编不提供相关实现代码,只是从js逆向说一说到 ...

  8. python爬虫实战(一)--爬取知乎话题图片

    原文链接python爬虫实战(一)–爬取知乎话题图片 前言 在学习了python基础之后,该尝试用python做一些有趣的事情了–爬虫. 知识准备: 1.python基础知识 2.urllib库使用 ...

  9. python爬虫之入门级实战实例(东方财富人气top100、汉服荟视频下载)

    文章目录 前言 一.东方财富人气top100 1.需求说明 2.数据爬取 ①首页数据 ② 实时趋势(排名) ③历史趋势(排名) 二.汉服荟小姐姐主页的视频爬取 1.需求说明 2. 数据爬取 总结 前言 ...

最新文章

  1. 聊聊《柒个我》这部剧
  2. FLOW福禄创始人朱萧木:如何通过产品设计助力品牌营销传播
  3. 并发容器之CopyOnWriteArrayList
  4. java collectiongroup 类_Java中的collection集合类型总结
  5. 现在人人都要准备的2020年六个事关职业生涯的技术趋势
  6. IDEA 搭建Java WEB 开发环境
  7. python人像绘制_python实现人像动漫化的示例代码
  8. SPFA or bellman ford松弛法--单源最短路
  9. Linux 用户空间审计系统
  10. Halcon教程六:为什么要二值化
  11. 社交电商 社群电商 源码下载
  12. linux系统中怎么复制粘贴快捷键设置,复制粘贴的快捷键是什么 复制粘贴的快捷键介绍【步骤】...
  13. ios 使用SourceTree,KDiff3进行代码的冲突解决步骤
  14. css绘制星星闪烁,web前端炫酷特效-CSS3制作环形星星发光动画
  15. 联想拯救者Y9000P 2022 配置
  16. iOS 设置中清除缓存功能
  17. XAPP1052理解
  18. 无力吐槽CSDN博客设计
  19. 车牌检测(分别使用Haar级联 和轮廓裁剪)
  20. 无延时直播/超低延时直播画面同步性测试(实测组图)

热门文章

  1. ShardingSphere5
  2. 获取手机唯一识别码IMEI
  3. 【Linux39-9】k8s存储之卷(volumes)、挂载不同类型的卷(emptyDir、hostpath、nfs)
  4. AL遮天传 DL-深度学习模型的训练技巧
  5. oracle权限培训,【必看】Oracle用户、权限、角色管理
  6. 手机端页面布局之rem
  7. Python爬虫示例:爬取 13 个旅游城市,看看大家放假了都爱去哪玩
  8. 面向对象(文字格斗进阶版)
  9. Excel汉字转换得到其拼音函数
  10. 小米蓝牙耳机和手机突然无法连接且不在通讯范围内