用Python爬取百度贴吧中的图片

简介: 用Python爬取百度贴吧中的图片

首先,我理解中的爬虫就是一个网页抓取工具和信息筛选工具的集合。
其中的工作原理无非就是首先获取到网页的源码,然后再通过筛选工具,将想要的信息筛选出来,这样就成了

以下为程序的源代码

__author__ = 'Liqifeng'
# -*- coding:utf-8 -*-

from urllib import request
import urllib
import re
import os

#爬取贴吧图片类
class heiheihei:
    #初始化方法
    def __init__(self,url):
        #需要爬取的网址
        self.url=url
    def getPage(self):
        #模拟浏览器信息
        user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64)'
        header={'User-Agent':user_agent}
        #传入信息
        req = request.Request(self.url,headers=header)
        #解析页面
        response=request.urlopen(req)
        #返回一个UTF-8编码的页面字符集
        return response.read().decode('UTF-8')

    #获取帖子中所有用户的名字
    def getName(self):
        #首先通过getPage()方法获得已经解析好了的页面
        content=self.getPage()
        #编写pattern
        parrten=re.compile('<a data-field=.*?target="_blank">(.*?)</a>',re.S)
        #匹配页面中的字符集
        result=re.findall(parrten,content)
        #挨个输出
        for item in result:
            print(item)

    #获取帖子中所有图片的超链接
    def getImage(self):
        # 首先通过getPage()方法获得已经解析好了的页面
        content=self.getPage()
        #编写正则表达式
        pattern=re.compile('<img class="BDE_Image" src="(.*?)" style=.*?>')
        #挨个匹配
        result = re.findall(pattern, content)
        #命名
        name='liqifeng'
        for item in result:
            print(item)
            #调用saveImg方法将获取的图片链接挨个保存为文件
            self.saveImg(item,name+'.jpg')
            name+='1'

        #此方法为保存超链接中的图片
        #ImageUrl为图片链接,fileName为保存的文件名
    def saveImg(self,ImageUrl,fileName):
        #首先获取图片
        u=request.urlopen(ImageUrl)
        #读取图片的源代码
        data=u.read()
        #打开文件
        f=open(fileName,'wb')
        #写入数据
        f.write(data)
        f.close()
        
url='http://tieba.baidu.com/p/2125354565?pn=2'
test=heiheihei(url)
print(test.getImage())

运行结果如下

这里写图片描述

这里写图片描述

目录
相关文章
Python实现PowerPoint演示文稿到图片的批量转换
PowerPoint演示文稿作为展示创意、分享知识和表达观点的重要工具,被广泛应用于教育、商务汇报及个人项目展示等领域。然而,面对不同的分享场景与接收者需求,有时需要我们将PPT内容以图片形式保存与传播。 这样能够避免软件兼容性的限制,确保信息接收者无需安装特定软件即可查看内容,还便于在网络社交平台、博客、电子邮件中快速分享与嵌入。而用Python代码可以高效地实现PowerPoint演示文稿到图片的批量转换,从而提升工作效率。
|
12天前
|
机器学习/深度学习 算法 TensorFlow
|
4天前
|
Python
Python 下载 html 中的 图片
Python 下载 html 中的 图片
10 2
|
5天前
|
Python
Python实现PowerPoint演示文稿到图片的批量转换
PowerPoint演示文稿作为展示创意、分享知识和表达观点的重要工具,被广泛应用于教育、商务汇报及个人项目展示等领域。然而,面对不同的分享场景与接收者需求,有时需要我们将PPT内容以图片形式保存与传播。 这样能够避免软件兼容性的限制,确保信息接收者无需安装特定软件即可查看内容,还便于在网络社交平台、博客、电子邮件中快速分享与嵌入。而用Python代码可以高效地实现PowerPoint演示文稿到图片的批量转换,从而提升工作效率。 本文将介绍如何使用Python实现PowerPoint演示文稿到图片的转换。
|
7天前
|
Python
Python——批量将PDF文件转为图片
Python——批量将PDF文件转为图片
16 2
|
6天前
|
Java Python
Python 合并多张图片至一张图片
Python 合并多张图片至一张图片
8 0
|
12天前
|
Python
[python]将多张图片合并为单个pdf文件
[python]将多张图片合并为单个pdf文件
|
8天前
|
算法 程序员 开发工具
百万级Python讲师又一力作!Python编程轻松进阶,豆瓣评分8.1
在学习Python的旅程中你是否正在“绝望的沙漠”里徘徊? 学完基础教程的你,是否还在为选择什么学习资料犹豫不决,不知从何入手,提高自己?
百万级Python讲师又一力作!Python编程轻松进阶,豆瓣评分8.1
|
1天前
|
Shell 数据处理 C++
【震撼揭秘】Python正则VS Shell正则:一场跨越编程边界的史诗级对决!你绝不能错过的精彩较量,带你领略文本处理的极致魅力!
【8月更文挑战第19天】正则表达式是文本处理的强大工具,在Python与Shell中有广泛应用。两者虽语法各异,但仍共享许多基本元素,如`.`、`*`及`[]`等。Python通过`re`模块支持丰富的功能,如非捕获组及命名捕获组;而Shell则依赖`grep`、`sed`和`awk`等命令实现类似效果。尽管Python提供了更高级的特性和函数,Shell在处理文本文件方面仍有其独特优势。选择合适工具需根据具体需求和个人偏好决定。
|
6天前
|
算法 程序员 开发工具
百万级Python讲师又一力作!Python编程轻松进阶,豆瓣评分8.1
在学习Python的旅程中你是否正在“绝望的沙漠”里徘徊? 学完基础教程的你,是否还在为选择什么学习资料犹豫不决,不知从何入手,提高自己?