python爬取百度贴吧xpath_爬虫基础系列xpath实战——爬取百度贴吧图片(3)
8586231_192932724000_2.jpg
#百度贴吧图片爬虫
# 爬取步骤:1.基础设置,2.构造url,3.爬取页面,4.解析页面,5.保存页面
# 采取urllib爬取
#引入必要的包
import urllib
import urllib.request
from lxml import etree
#定义一个类存入必要的基础数据
class Spider():
def __init__(self):
self.beginpage=1
self.endpage=3
self.tiebaname='java'
self.url="http://tieba.baidu.com/f?"
self.headers={"User-Agent" : "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1 Trident/5.0;"}
self.filename=1
#定义构造url的函数
def tiebaSpider(self):#驼峰命名法
for i in range(self.beginpage,self.endpage+1):
#分析网页
#第二页http://tieba.baidu.com/f?kw=java&ie=utf-8&pn=50
#第三页http://tieba.baidu.com/f?kw=java&ie=utf-8&pn=100
#构造get请求参数
pn=(i-1)*50
wd={'pn':pn , 'kw':self.tiebaname}
word=urllib.parse.urlencode(wd)
#拼接完整的url
urll=self.url+word
#调用爬取页面函数
self.loadPage(urll)
#定义爬取页面url
def loadPage(self,url):
response=urllib.request.Request(url,headers=self.headers)
data=urllib.request.urlopen(response).read()#返回2进制形式的页面信息
# print(data)
#用xpath前期处理出链接信息拼接帖子的地址
html=etree.HTML(data)
#
#
# 刚来公司跟不上啊,怎么办呢,又没有大佬分享一下经验
links=html.xpath('//div[@class="threadlist_lz clearfix"]/div/a/@href')
for link in links:
# print(link)
#拼接url
link="http://tieba.baidu.com"+link
# 调用解析页面函数
self.loadImage(link)
#定义图片解析链接的函数
def loadImage(self,link):
req=urllib.request.Request(link,headers=self.headers)
data1=urllib.request.urlopen(req).read()
html=etree.HTML(data1)
#用xpath表达式解析出图片
#其中一个图片的网页信息
#
imagelinks=html.xpath('//img[@class="BDE_Image"]/@src')
for imagelink in imagelinks:
#调用保存图片函数,将解析出的图片存入本地
self.writeImage(imagelink)
def writeImage(self,imagelink):
print("正在保存图片",self.filename,"-------------------")
image=urllib.request.urlopen(imagelink).read()
with open(r"E:\img\\"+str(self.filename)+".jpg","wb") as f:
f.write(image)
self.filename+=1
#最后调用执行整个代码
if __name__=='__main__':
spider=Spider()
spider.tiebaSpider()
......
正在保存图片 137 -------------------
正在保存图片 138 -------------------
正在保存图片 139 -------------------
正在保存图片 140 -------------------
正在保存图片 141 -------------------
正在保存图片 142 -------------------
正在保存图片 143 -------------------
......
python爬取百度贴吧xpath_爬虫基础系列xpath实战——爬取百度贴吧图片(3)相关推荐
- 网络爬虫--12.【XPath实战】获取百度贴吧中的图片
用XPath来做一个简单的爬虫,我们尝试爬取某个贴吧里的所有帖子,并且将该这个帖子里每个楼层发布的图片下载到本地. #coding=utf-8 import requests from lxml im ...
- python爬虫酷狗_python爬虫教程:爬取酷狗音乐,零基础小白也能爬取哦
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:python学习教程 ( 想要学习Python?Pyt ...
- python爬取大众点评数据_python爬虫实例详细介绍之爬取大众点评的数据
python 爬虫实例详细介绍之爬取大众点评的数据 一. Python作为一种语法简洁.面向对象的解释性语言,其便捷性.容易上手性受到众多程序员的青睐,基于python的包也越来越多,使得python ...
- python爬虫教程:爬取酷狗音乐,零基础小白也能爬取哦
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:python学习教程 ( 想要学习Python?Pyt ...
- Python网络爬虫基础进阶到实战教程
文章目录 认识网络爬虫 HTML页面组成 Requests模块get请求与实战 效果图 代码解析 Post请求与实战 代码解析 发送JSON格式的POST请求 使用代理服务器发送POST请求 发送带文 ...
- 爬虫基础篇之Scrapy抓取京东
虚拟环境 同一台服务器上不同的项目可能依赖的包不同版本,新版本默认覆盖旧版本,可能导致其他项目无法运行,通过虚拟环境,完全隔离各个项目各个版本的依赖包,实现运行环境互不影响. virtualenv p ...
- Python编程:从入门到实践+爬虫开发与项目实战+网络编程基础+项目开发实战
给还在苦苦自学Python的小伙伴们分享一波学习教程~有了它们,至少能节省50%的时间,少走一半的弯路. 书不在多,而在于精~ <Python编程:从入门到实践>豆瓣评分9.2 本书是针对 ...
- python全栈工程师 pdf_python全栈工程师项目开发实例实战入门教程百度云
python全栈工程师项目开发实例实战入门教程百度云 课程目录: 开学典礼 pycharm的基本使用 Python基本语法 数值类型数据及运算 字符串的基本操作 字符串的常用方法 列表的基本使用 列表 ...
- python xpath语法-Python爬虫基础之XPath语法与lxml库的用法详解
前言 本来打算写的标题是XPath语法,但是想了一下Python中的解析库lxml,使用的是Xpath语法,同样也是效率比较高的解析方法,所以就写成了XPath语法和lxml库的用法 XPath 即为 ...
最新文章
- div 隐藏_CSS实现六边形Div图片展示效果
- label标签 html5,HTML5 label 标签
- 计算机A级作文,关于被计算机的作文(共一篇)-疾风作文网
- 深度剖析 | 初学者应该如何学习前端?该怎么学?
- [C++]Linux之C编程异常[true未定义解决方案]
- 7.2.5 dps 测试软件,dps排行榜网站_7.1.5dps排行榜分享DPS模拟常见上榜翻译2
- LoadRunner教程(19)-LoadRunner 性能图表分析
- android相机固定焦距,如何找到Android相机的焦距?
- 纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)
- LVGL (8) 绘制流程
- JTAG-SWD转接
- 股 市 运 作 原 理
- Petalinux-conifg 错误失败
- 未来挣钱的行业有哪些,这3个项目有前景
- HEX和BIN文件的区别
- Spring WebFlux运用中的思考与对比
- java启动监听器报错_初识 Java-监听器
- CSDN的第一篇文章——聊聊股市
- 会计基础:一个具体的简单的会计核算过程
- 99行代码实现go IOC容器