python抓取贴吧标题和图片代码(Python实现的爬取百度贴吧图片功能完整示例)
类别:脚本大全 浏览量:2525
时间:2021-10-02 01:46:38 python抓取贴吧标题和图片代码
Python实现的爬取百度贴吧图片功能完整示例本文实例讲述了python实现的爬取百度贴吧图片功能。分享给大家供大家参考,具体如下:
|
#coding:utf-8 import requests import urllib2 import urllib ``` from lxml import etree class tieba: def __init__( self ): self .tiebaname = raw_input ( "请输入需要爬取的贴吧:" ) self .beginpage = int ( raw_input ( "请输入爬取的起始页:" )) self .endpage = int ( raw_input ( "请输入爬取的结束页:" )) self .baseurl = "http://tieba.baidu.com" #self.headers = {"user-agent" : "mozilla/5.0 (windows nt 10.0; wow64) applewebkit/537.36 (khtml, like gecko) chrome/59.0.3071.86 safari/537.36"} self .headers = { "user-agent" : "mozilla/5.0 (compatible; msie 9.0; windows nt 6.1 trident/5.0;" } def startwork( self ): """ 发送贴吧每一页的url请求 """ for page in range ( self .beginpage, self .endpage + 1 ): pn = (page - 1 ) * 50 keyword = { "kw" : self .tiebaname, "pn" : pn} kw = urllib.urlencode(keyword) url = self .baseurl + "/f?" + kw #print url html = self .loadrequest(url) self .loadpage(html) def loadrequest( self , url): """ 发送请求,返回响应 url: 发送请求的url地址 """ request = urllib2.request(url, headers = self .headers) #request = urllib2.request(url) response = urllib2.urlopen(request) return response.read() def loadpage( self , html): """ 提取每个帖子的url,并发送请求,获取响应 html: 贴吧每一页的html """ content = etree.html(html) print '------' print content # xpath 返回的所有匹配成功后的结果的列表 #pagelink_list = content.xpath("//li[@class='threadlist_lz clearfix']/li/a[@class='j_th_tit']/@href") pagelink_list = content.xpath( "//li[@class='col2_right j_threadlist_li_right']//li/a/@href" ) pagelink_list = content.xpath( "//li[@class='t_con cleafix']//li/a/@href" ) for link in pagelink_list: print link self .loadimage( self .loadrequest( self .baseurl + link)) def loadimage( self , html): """ 提取帖子里用户发送的图片的url地址 html: 每个帖子的html """ content = etree.html(html) imagelink_list = content.xpath( "//li[@class='p_content ']//img[@class='bde_image']/@src" ) for link in imagelink_list: self .writeimage( self .loadrequest(link), link[ - 10 :]) def writeimage( self , data, filename): """ 将图片的响应数据,写入到本地磁盘里 data: 图片的响应数据 filename: 文件名(图片url的后10位) """ print "正在保存图片...%s" % filename with open (filename, "wb" ) as f: f.write(data) if __name__ = = "__main__" : tieba = tieba() tieba.startwork() |
希望本文所述对大家python程序设计有所帮助。
原文链接:https://blog.csdn.net/xuezhangjun0121/article/details/73719059
您可能感兴趣
- 怎么用python做随机矩阵(python实现杨氏矩阵查找)
- python 验证码识别模块([机器视觉]使用python自动识别验证码详解)
- python3.7对象检测(在Python中使用Neo4j的方法)
- python读取数据集的图片(浅析Python 读取图像文件的性能对比)
- python给一个数字md5加密(Python写一个基于MD5的文件监听程序)
- python获取股票每天k线(使用PyQtGraph绘制精美的股票行情K线图的示例代码)
- python中如何限制数字的个数(python 处理数字,把大于上限的数字置零实现方法)
- python代码添加微信号(python 获取微信好友列表的方法微信web)
- python redis锁的使用(Python操作redis实例小结String、Hash、List、Set等)
- python 获取数组任意组合(Python实现求两个数组交集的方法示例)
- 如何利用python编写日期的程序(Python读取指定日期邮件的实例)
- python模块学习之random模块(详解Python基础random模块随机数的生成)
- python实现删除列表重复元素功能(Python实现删除排序数组中重复项的两种方法示例)
- python常用的字符串操作方法(Python字符串的常见操作实例小结)
- python基础知识重点(python语言元素知识点详解)
- python将网站图片本地存储(详解Python下载图片并保存本地的两种方式)
- 城市记忆之上海 最难忘的是老弄堂里的市井味道(城市记忆之上海)
- 太鸡贼了,这老小区轻松搞定了停车问题(这老小区轻松搞定了停车问题)
- 太鸡贼了,这老小区轻松搞定了停车问题(这老小区轻松搞定了停车问题)
- 节日我在岗|警景相融 平安相伴(节日我在岗警景相融)
- 战 疫 时刻 致敬每一位石化大学的 守护者(战疫时刻)
- 老弄堂里的市井味道(老弄堂里的市井味道)
热门推荐
- mysql order by id查询变慢(MySQL不使用order by实现排名的三种思路总结)
- html5视频播放(使用HTML5加载音频和视频的实现代码)
- css垂直左右居中的方式(css常用元素水平垂直居中方案)
- 云主机越来越受欢迎吗(选择香港云主机的三个理由)
- html5创作(HTML5录音实践总结Preact)
- 如何使用rem开发移动端页面(移动端rem布局的两种实现方法)
- teamcenter常见问题(TeamCenter12登陆报404/503问题解决方案)
- docker部署带配置的镜像(docker安装fastdfs镜像的一些注意事项)
- python pandas dataframe 查询(Python实现从SQL型数据库读写dataframe型数据的方法基于pandas)
- 通过js获取Url的参数值
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9