美文网首页
使用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