美文网首页
使用python抓取贴吧里面的图片

使用python抓取贴吧里面的图片

作者: 就是很皮 | 来源:发表于2018-10-07 12:52 被阅读0次
zha.jpg

其实这个功能是我在开始学python就一直想做的 学了很久然后才会这破东西 看的教程有些还没提到 自己又去百度现学 太惨了

废话少说 开干

  • 首先打开贴吧的链接:https://tieba.baidu.com/p/5903016452

  • 分析一下这个页面:

    image.png
  • 这个img标签有个类属性 类名是BDE_Image 发现所有的图片都是这个类名 于是可以用BeautifulSoup去查找这个类名然后取出其中的src得到地址 再进行下载

  • 方便起见 也看得懂 面向过程来写 不想写的有多优美 大家看的明白才是硬道理

代码摘要

import requests
import lxml
import hashlib
from bs4 import BeautifulSoup
</先引用上面的模块 部分模块需要自己安装/>

Url = 'https://tieba.baidu.com/p/5902645251'
</贴吧的地址/>

UserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'
Header = {'User-Agent':UserAgent}
</传入浏览器标识/>

GetHtmlContent = requests.get(Url,headers = Header).content
</获取帖子源代码/>

FindPicClass = BeautifulSoup(GetHtmlContent,'lxml')
</构建Soup/>

FindPicClass = FindPicClass.select('.BDE_Image')
</查找类名/>

imgcount = 0
</定义文件名 后面保存文件用得上/>

SaveMd5Obj = hashlib.md5()
</构建MD5对象/>

for PickLink in FindPicClass:
    PicSrc = PickLink.get('src')
</取出列表中所有的src地址/>

    SaveMd5Obj.update('tieba')
</传入加密的字符串/>

    Md5 = SaveMd5Obj.hexdigest()
</生成MD5值/>

    path = 'd:/tmp/' + str(imgcount) + str(Md5) + '.jpg'
</定义存储目录和文件名以及后缀/>

    ImgSave = open(path,'wb+')
</准备保存二进制文件/>

    ImgUrl = requests.get(PicSrc).content
</获取src中的内容/>

    ImgSave.write(ImgUrl)
</写入目标地址/>
    ImgSave.close()
</结束文件操作/>
    imgcount += 1

相关文章

网友评论

      本文标题:使用python抓取贴吧里面的图片

      本文链接:https://www.haomeiwen.com/subject/sdllaftx.html