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("//div[@class='threadlist_lz clearfix']/div/a[@class='j_th_tit']/@href")
pagelink_list = content.xpath("//div[@class='col2_right j_threadlist_li_right']//div/a/@href")
pagelink_list = content.xpath("//div[@class='t_con cleafix']//div/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("//div[@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程序设计有所帮助。
python爬取贴吧所有帖子-Python实现的爬取百度贴吧图片功能完整示例相关推荐
- python爬取贴吧所有帖子-Python爬虫实例(一)爬取百度贴吧帖子中的图片
程序功能说明:爬取百度贴吧帖子中的图片,用户输入贴吧名称和要爬取的起始和终止页数即可进行爬取. 思路分析: 一.指定贴吧url的获取 例如我们进入秦时明月吧,提取并分析其有效url如下 ?后面为查询字 ...
- python密码登录程序三次_Python实现账号密码输错三次即锁定功能简单示例
本文实例讲述了Python实现账号密码输错三次即锁定功能.分享给大家供大家参考,具体如下: 初学Python-1 #实现账号输错三次即锁定 user = "hubery" pass ...
- python读取网络摄像头的帧_python实现从本地摄像头和网络摄像头截取图片功能
python-----从本地摄像头和网络摄像头截取图片 ,具体代码如下所示: import cv2 # 获取本地摄像头 # folder_path 截取图片的存储目录 def get_img_from ...
- python爬取贴吧所有帖子-python爬取贴吧帖子
一.介绍 我们常遇到一些很长的贴吧连载帖子想存到本地再看 此文就是运用python爬取指定百度贴吧的帖子并存到本地满足需求 环境:python2.7 目标网页:[长篇连载]剑网3的正史和野史--从头开 ...
- python爬取贴吧所有帖子-Python爬虫爬取百度贴吧的帖子
同样是参考网上教程,编写爬取贴吧帖子的内容,同时把爬取的帖子保存到本地文档: #!/usr/bin/python #_*_coding:utf-8_*_ import urllib import ur ...
- python爬取贴吧所有帖子-python 爬虫爬取百度贴吧,获取海量信息
需要用到的库:requests,re,xpath 首先打开随便一个贴吧:贴吧首页 通过观察发现每一个帖子的链接是这样的:帖子链接 我们只需要获取后面灰色部分就可以了,点击f12 按ctrl+f 找到链 ...
- python开发视频播放器_Python实现的视频播放器功能完整示例
本文实例讲述了Python实现的视频播放器功能.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #! python3 # ----------------------- ...
- python制作白底界面_Python实现将蓝底照片转化为白底照片功能完整实例
本文实例讲述了Python实现将蓝底照片转化为白底照片功能.分享给大家供大家参考,具体如下: import cv2 import numpy as np img=cv2.imread('yay.jpg ...
- python爬取虎扑论坛帖子数据
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...
最新文章
- JAVA里tokens意思_Java TokenMetadata.sortedTokens方法代码示例
- 捕捉mysql中不可忽视的知识点(一)
- Java中break、Continue、reutrn总结
- 计算机二级python基础知识总结-计算机二级python 知识点篇(程序的控制结构)...
- 简述hdfs工作原理_hdfs工作机制和原理 简述hdfs的原理
- c语言编写程序平均值,编写求一组整数的和与平均值的程序
- 肖修鹏:十年磨一剑,成就靠谱职业经理人
- 10.8-全栈Java笔记:序列化/反序列化的步骤和实例
- PostgreSQL 逻辑订阅 - 给业务架构带来了什么希望?
- Flutter AnimatedSwitcher 实现优美的图片切换动画
- POJ3070:Fibonacci——题解
- java遍历嵌套二维map输出下标_Map集合嵌套 4种遍历方式
- Java 实现线程的两种方式
- react 点击使父元素消失_在 React 组件中使用 Refs 指南
- ExtJS 教程汇总
- 大学四年,自学编程常用的10个学习网站
- ESP-AT 应用: AT+MQTT 对接腾讯 QCloud 云
- python数据按照分组进行频率分布_3.2.1 分布分析
- 原创 基于微信小程序毕业设计题目选题课题 羽毛球篮球足球乒乓球场地球馆预约小程序的设计与实现(1)首页
- echart旭日图_Echarts的旭日图如何显示tooltip
热门文章
- P2257 YY的GCD (莫比乌斯反演)
- SpringMVC(二八) 重定向
- python(1) - 输入和输出
- ZH奶酪:Java调用NLPIR汉语分词系统
- MySQL的left on 【zt】
- Lua 代码编写技巧
- 流媒体技术学习笔记之(十八)Ubuntu 16.04.3 如何编译 FFmpeg 记录
- python 多进程使用总结
- /proc/sys/vm/ 内存参数
- 【Problem solved】 error C2665: “loadimage”: 2 个重载中没有一个可以转换所有参数类型...