搜索
查看: 1627|回复: 0

使用Python获取百度贴吧高清图

[复制链接]

75

主题

107

帖子

199

积分

注册会员

Rank: 2

积分
199
发表于 2020-1-28 10:39:13 来自手机 | 显示全部楼层 |阅读模式
输入贴子ID批量获取贴吧图片脚本

使用方法:

运行后输入帖子的ID即可

例:https://tieba.baidu.com/p/1234567890

输入1234567890

# -*- coding=utf-8 -*-
import urllib,re,requests
from bs4 import BeautifulSoup
 
#获取图片URL
def get_page(url):
        html_page = requests.get(url).content
        soup = BeautifulSoup(html_page,'html.parser')
        imgs = soup.find_all('img',class_='BDE_Image')
        return imgs
 
#获取只看楼主后总页数
def get_number(url):
        html_page = requests.get(url).content
        soup = BeautifulSoup(html_page,'html.parser')
        page_number = soup.find_all('span',class_='red')
        page_no = page_number[1].string
        return page_no
 
tieba_id = raw_input('Enter tieba ID : ')
tieba_head ='https://tieba.baidu.com/p/'
url_pic_head = 'https://imgsrc.baidu.com/forum/pic/item/'
 
tieba_str = '?see_lz=1&pn='
tieba_addr = tieba_head + tieba_id + tieba_str
tieba_addr1 = tieba_head + tieba_id + tieba_str
pages_number = int(get_number(tieba_addr1))+1
 
for x in range(1,pages_number):
        imgurl = tieba_addr+str(x)
        for s in get_page(imgurl):
                src_url = s.get('src')
                file_name = re.findall('([A-Za-z0-9][-A-Za-z0-9]+\.jpg)',src_url)
                jpgs_name = ''.join(file_name)
                pics_url = url_pic_head + jpgs_name   #获取组合http_url头部和文件名后的URL
                try:
                        urllib.urlretrieve(pics_url,'C:\\pics\\%s' %jpgs_name)
                        print pics_url +'         *Downling Success!*'
                except Exception as e:
                        raise e                
 
 
 
 
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

温馨提示
1:发帖请遵守《中华人民共和国网络安全法》,发帖内容不得维护国家的、集体的、个人的利益。
2:请勿发布恶意攻击他人的技术文章、工具、和使用教程,发现后删帖处理。
3:本站的目的在于让更多的人了解网络安全,避免受到他人的恶意攻击。
4:本站中的部分文章,可能会出现一些“技术类手段”,但这仅仅为学习演示所用,而非恶意传播技术。
5:本站中的部分文章,可能转载自互联网。如有侵权行为,联系我们删除即可。
6:学习仅是充实头脑,切勿恶意攻击个人、企业等。所造成的法律后果一切由自己承担,本站及其站长概不负责。
我知道了
快速回复 返回顶部 返回列表