用Besoup爬虫爬取某个百度贴吧所有页码的图片

参考

可以参考:http://www.jianshu.com/p/45e13334a71f
我的是Soup版 爬取贴吧 某个帖子下面所有的图片链接

优点

  1. 不用输入页面 自动匹配到总共几页。
  2. 自动爬取该贴吧下的所有页的图片资源
  3. 自动重命名文件。通过命名可以看到是第几页的图片

效果图如下:

tiebapachong.png
# -*- coding:utf-8 -*-
# **********************************
# ** http://weibo.com/lixiaodaoaaa #
# ****** by:lixiaodaoaaa ***********


# -*- coding: UTF-8 -*-
import urllib
import re
import sys
import json
import requests
from bs4 import BeautifulSoup, Tag
from datetime import datetime
import random
import time


def convertUrlToBeautifulSoup(url):
    getStr = requests.get(url)
    getStr.encoding = "utf-8"
    return BeautifulSoup(getStr.text, "html.parser")


def download_img(beSoup, page):
    for myImg in mySoup.select(".BDE_Image"):
        imgUrl = myImg.get("src")
        myTempStr = imgUrl.split("sign=")
        strPage = "page_%d_fileName=" % page
        strTime = "%s.jpg" % time.time()
        fileName = strPage + strTime
        print(fileName)
        urllib.request.urlretrieve(imgUrl, fileName)


def getTotalNumber(beSoup):
    page = beSoup.select(".l_reply_num")[0].select(".red")[1].text
    return int(page)


def getParaUrl(sourUrl, page):
    para = "?pn=%d" % page
    hasParaUrl = startUrl + para
    return hasParaUrl


if __name__ == '__main__':
    startUrl = input('输入网址,把pn=后面的数字去掉')
    mySoup = convertUrlToBeautifulSoup(startUrl)
    totalPage = getTotalNumber(mySoup)
    startPage = 2
    download_img(mySoup, 1)
    while startPage <= totalPage:
        tempSoup = convertUrlToBeautifulSoup(getParaUrl(startUrl, startPage))
        download_img(tempSoup, startPage)
        startPage += 1
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在之前一篇抓取漫画图片的文章里,通过实现一个简单的Python程序,遍历所有漫画的url,对请求所返回的html源...
    msq3阅读 12,883评论 14 88
  • 概述 近来花了一些时间简单学习了一下python,简而言之:抛弃运行效率因素不说,从编码的角度,其优雅、简洁的语法...
    nmnethaha阅读 923评论 6 4
  • 第三章 前言:珂玥和芸汐,跟着那个男生回到了他家,会发生什么奇...
    Dr萌光阅读 367评论 0 0
  • 每天晚上写东西已经成为一种习惯了。哪天要是没写就会浑身难受总觉得少了点什么。 看我之前的文章可能中间隔了几天才写,...
    筿筿阅读 478评论 18 12
  • (张子选) 在无人地带你面前的石头是棕色皮肤的孩子它们不会说话也不会像花朵像你期待的那样突然盛开可你还是有些期待你...
    紫章阅读 356评论 0 3