吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6340|回复: 12
收起左侧

[Python 转载] python3爬虫爬取百度贴吧帖子图片

  [复制链接]
书写情书 发表于 2017-7-27 22:50
本帖最后由 书写情书 于 2017-7-28 09:17 编辑

因为刚开始写注释不是很清楚怎么写就没写注释
用了 request 和 BeautifulSoup 爬虫框架
灵感是来源于 某课堂的一个爬虫教程



import requests
import re
from threading import Thread
from bs4 import BeautifulSoup
import os

class Pictures(object):
        def __init__(self, url):
        self.url = url

    def main(self):
        req = requests.get(self.url)
        req.encoding = 'utf-8'
        soup = BeautifulSoup(req.text, 'html.parser')
        self.get_img_url(soup)
        t1 = Thread(target=self.thread, args={0, 11})
        t2 = Thread(target=self.thread, args={11, 22})
        t1.start()
        t2.start()

    def thread(self, a, b):
        for i in range(a, b):
            url = 'https://tieba.baidu.com/p/5245797575?pn=%d' % i
            print('第%d页' % i)
            sp = self.url_open(url)
            self.get_img_url(sp)

    def get_img_url(self, soup):
        for img in soup.select('.BDE_Image'):
            src = re.search(r'https://.+?jpg', str(img)).group()
            file_name = re.search('sign=.+/(.+jpg)', str(src)).group(1)
            # print(src, file_name)
            self.sava_img(src, file_name)

    def sava_img(self, url, file_name):
        headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'}
        req = requests.get(url, headers=headers).content
        with open(file_name, 'wb') as f:
            print("正在下载", file_name)
            f.write(req)

    def url_open(self, url):
        req = requests.get(url)
        req.encoding = 'utf-8'
        soup = BeautifulSoup(req.text, 'html.parser')
        return soup

if __name__ == "__main__":
    # 爬取图片的网页url
    url = 'https://tieba.baidu.com/p/5245797575'
    if not os.path.exists('classimg'):
        os.mkdir('classimg')
    os.chdir('classimg')
    pictures = Pictures(url)
    pictures.main()

爬取图

爬取图

免费评分

参与人数 4吾爱币 +2 热心值 +4 收起 理由
wc2018 + 1 用心讨论,共获提升!
hlink1021 + 1 + 1 热心回复!
fan冬天的秘密 + 1 + 1 热心回复!
heheql + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 书写情书 发表于 2017-7-27 22:52
源码是经过修改才发出来的 和图里的源码不一致 但是下载方式都是一样的
谁折南枝傍小丛 发表于 2017-7-27 23:38
fundijet 发表于 2017-7-27 23:58
dongdongzei 发表于 2017-7-28 00:04 来自手机
收藏起来,谢谢楼主分享
stuhkg 发表于 2017-7-28 00:16
收藏了,谢谢楼主
PIUPIU 发表于 2017-7-28 01:06
这个牛呀,学习学习
we6100 发表于 2017-7-28 09:19
好好的学习了
hlink1021 发表于 2017-7-28 09:23
感谢分享。
Cheng_ 发表于 2017-7-28 14:29 来自手机
先收藏了再说  谢谢楼主
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 12:02

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表