依然是参考崔庆才写的关于Python爬虫的文章,大家有兴趣的话可以去他的个人博客静觅学习。

上次将百度贴吧里帖子的文字写入txt文件,这次将其中的图片下载保存到本地。

以五月天吧中的这个帖子为例,作者是痴呆Juli,写一个程序将她发的图片下载下来。提取帖子标题和一共的页数,将第n页的所有图片都保存到名为“标题 n”的文件夹中。图片出现的位置如下图,相应的正则表达式为pattern = re.compile('

图片.png

程序的思路是:对于每一页,re.findall()找出所有的图片链接以列表的形式返回,根据标题和当前页码建立相应的文件夹,将每张图片都保存到该文件夹。

对应的函数有四个

def mkdir(self, path):

isExists = os.path.exists(path)

if not isExists:

os.makedirs(path)

return True

else:

return False

def getAllImgs(self, page):

pattern = re.compile('

images = re.findall(pattern, page)

return images

def saveImg(self, imageURL, fileName):

u = urllib.urlopen(imageURL)

data = u.read()

f = open(fileName, 'wb')

f.write(data)

f.close()

def saveImgs(self, images, name):

number = 1

for imageURL in images:

splitPath = imageURL.split('.')

fTail = splitPath.pop()

if len(fTail) > 3:

fTail = "jpg"

fileName = name + "/" + str(number) + "." + fTail

self.saveImg(imageURL, fileName)

number += 1

mkdir建立文件夹,os模块包含了很多操作系统的接口,os.path.exists(path)查看path路径是否存在,若不存在,os.makedirs(path)建立该路径(即在当前目录建立名为path的文件夹)。

getAllImgs() 提取当前页面所有图片的链接,以列表形式返回。

saveImg()打开图片链接,写入名为fileName的文件。因为图片是二进制格式,所以用‘wb’,表示以二进制格式打开一个文件只用于写入,如果该文件已存在则将其覆盖,如果该文件不存在,创建新文件。注意,open之后记得close。

saveImgs保存所有图片。由于imageURL的形式为“URL.jpg”,imageURL.split('.')用.将imageURL分为前后两部分,fTail = splitPath.pop()删除列表最后一个元素并返回该值,即图片的格式,fileName = name + "/" + str(number) + "." + fTail表示在名为name的文件夹下保存number.fTail的文件。

python爬取百度贴吧图片库_爬取百度贴吧图片相关推荐

  1. python爬取网页表格数据匹配_爬取表格类网站数据并保存为excel文件

    本文转载自以下网站:50 行代码爬取东方财富网上市公司 10 年近百万行财务报表数据 https://www.makcyun.top/web_scraping_withpython6.html 主要学 ...

  2. 百度空间互踩_贝壳联手百度地图 整合新房信息找房更便捷

    来源:环球网 近日,贝壳找房与百度地图达成战略合作,推出基于百度地图丰富房产社区POI点的房产信息服务内容.消费者只要进入到最新版的百度地图之后,输入想要查询的楼盘名称,即可查看贝壳App所提供的新房 ...

  3. python爬取百度贴吧图片库_python爬取百度贴吧的图片2

    今天看了一下beautifulsoup库的用法,把昨天的python爬取百度贴吧的图片1的代码更新成使用beautifulsoup库的函数来实现.用的还是不太熟练,但是感觉比正则表达式写起来容易了一些 ...

  4. python爬虫爬取新闻标题及链接_网络爬虫百度新闻标题及链接爬取

    1.主题:百度新闻爬取 2. python代码: import requests from bs4 import BeautifulSoup def getHTMLText(url): try: r ...

  5. python爬取饿了么评论_爬取饿了么官网数据 scrapy

    展开全部 Scrapy框架的初步运用 上午刚配置好scrapy框架,32313133353236313431303231363533e58685e5aeb931333363393734下午我就迫不及待 ...

  6. python爬取内容和f12不一致_爬取页面和审查元素获取的内容不一致

    今天看书看到 图片爬虫实战之爬取京东手机图片 这一节,想着自己动手练习一下,因为以前看过视频所以思路还是比较清晰,主要是为了复习巩固刚刚学的正则表达式. 打开京东手机页面, https://list. ...

  7. python爬取热门新闻每日排行_爬取网易新闻排行榜

    #网络爬虫之最基本的爬虫:爬取[网易新闻排行榜](http://news.163.com/rank/) **一些说明:** * 使用urllib2或requests包来爬取页面. * 使用正则表达式分 ...

  8. python爬取新浪新闻意义_爬取新浪新闻

    [Python] 纯文本查看 复制代码import requests import os from bs4 import BeautifulSoup import re # 爬取具体每个新闻内容 de ...

  9. python爬取豆瓣电影并分析_爬取豆瓣电影top250提取电影分类进行数据分析

    标签(空格分隔):python爬虫 一.爬取网页,获取需要内容 我们今天要爬取的是豆瓣电影top250 页面如下所示: 我们需要的是里面的电影分类,通过查看源代码观察可以分析出我们需要的东西.直接进入 ...

最新文章

  1. 使用php需要网络吗,使用php获取网络文件
  2. linux中mysql导入数据库命令_linux下mysql数据库导入导出命令
  3. ViceDinoSpecCtrlDlg.cpp
  4. 深度系统如何安装mysql_deepin 安装mysql apache
  5. npm和angular_如何开发,使用和发布Angular库到NPM
  6. 石油-美元金融体系的形成
  7. Python_装饰器Decorator
  8. 视觉SLAM笔记(26) 状态估计问题
  9. iPhone 11跌至4439元?网友:虽是二手但用着很香
  10. Javascript 调用百度地图不显示
  11. graphics | 基础绘图系统(九)——栅格图、点密度图、等高线(填充)图、三维图...
  12. [svn] 解决SVN冲突攻略(手册)
  13. sqlserver management studio 2014 升级2016_画质提升音质更佳:Insta360影石ONE R迎来最强升级...
  14. python剪辑_用python进行视频剪辑
  15. YouTube如何开启双语显示
  16. php怎么将农历转换成公历,php农历转公历怎么实现
  17. 林海峰讲的python_Python面向对象进阶-林海峰篇
  18. 温莎大学的计算机专业,2017加拿大计算机专业前七名
  19. 变量的定义和变量的声明
  20. 英国议会上院AI报告AI in the UK-ready, willing and able附原文183页(赞赏后下载ZIP包)

热门文章

  1. 如何扩展Shifu的西门子PLC驱动能力
  2. 埃塞俄比亚空难,人机控制权争夺后的悲剧
  3. stm32控制直流电机
  4. 使用Python+OpenCV+Keras创建自己的图像分类模型
  5. 区块链游戏赌的是整个赛道,而不是某款游戏
  6. Supermap配置本地许可
  7. 3DMAX、MAYA、Houdini、C4D、Blender的区别
  8. 小红伞 Avira comctl32 Bad Image 错误
  9. 井盖智能化升级最佳实践
  10. pixel2style2pixe环境配置([‘ninja‘, ‘-v‘] + no module named ‘fused’)