首页 > 编程语言 >Python爬虫采集搞笑段子示例

Python爬虫采集搞笑段子示例

时间:2022-12-14 10:04:31浏览次数:62  
标签:xpath title Python text 示例 爬虫 href div

对于爬虫的用处不同的人有不同的看法,对于我而言,他是一门技能也是一门艺术,只有掌握其中的原理,才能让你体会到真正的快乐。下文就是我用python爬虫爬取搞笑段子的实例可以一起探讨下。

涉及知识点

1、爬虫基本步骤

2、requests模块

3、parsel模块

4、xpath数据解析方法

5、分页功能

爬虫基本步骤:

1、获取网页地址 (糗事百科的段子的地址)

2、发送请求

3、数据解析

4、保存 本地

爬虫代码

导入所需模块

import reimport requestsimport parsel

1、获取网页地址

url = 'https://www.qiushibaike.com/text/'# 请求头   伪装客户端向服务器发送请求headers = {    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36'}

2、发送请求

requ = requests.get(url=url, headers=headers).text

3、数据解析

sel = parsel.Selector(requ)  # 解析对象 <Selector xpath=None data='<html xmlns="http://www.w3.org/1999/x...'>href = sel.xpath('//body/div/div/div[2]/div/a[1]/@href').getall()for html in href:    txt_href = 'https://www.qiushibaike.com' + html    requ2 = requests.get(url=txt_href, headers=headers).text    sel2 = parsel.Selector(requ2)    title = sel2.xpath('//body/div[2]/div/div[2]/h1/text()').get().strip()    title = re.sub(r'[|/\:?<>*]','_',title)    # content = sel2.xpath('//div[@class="content"]/text()').getall()    content = sel2.xpath('//body/div[2]/div/div[2]/div[2]/div[1]/div/text()').getall()    contents = '\n'.join(content)

4、保存数据

with open('糗事百科text\\'+title + '.txt', mode='w', encoding='utf-8') as fp:    fp.write(contents)    print(title, '下载成功')

运行代码,得到数据

Python爬虫采集搞笑段子示例_大数据分析

Python爬虫采集搞笑段子示例_大数据分析_02

标签:xpath,title,Python,text,示例,爬虫,href,div
From: https://blog.51cto.com/u_13488918/5935482

相关文章

  • python怎么样?
    想学的话,当然是可以学习的。python是一门语法优美的编程语言,不仅可以作为小工具使用提升我们日常工作效率,也可以单独作为一项高新就业技能!python可以做的事情:软件开发:用pyth......
  • python的特点
    Python是一个高层次的结合解释性、编译性、互动性和面向对象的脚本语言。Python的设计具有很强的可读性,和其他语言经常使用英文关键词,要比其他语言更加具有特色语法结构。Py......
  • Python中json.dump()和json.dumps()的区别
    一、图解json.dumps(dict,indent):将Python对象转换成json字符串 json.dump(dict,file_pointer):将Python对象写入json文件  二、json.dumps()用法1、用法json.d......
  • 用 python 的snap7库 连接西门子 200 smart
    先推荐一篇知乎上的文章,讲的非常详细.  使用Snap7读写西门子S7系列PLC但,可能存在版本不同的问题,很多地方不能正常运行.下面贴出的是测试代码:环境python3.8.4(sn......
  • Python学习笔记:行列转换小例子
    一、需求需将“宽数据”转换为“长数据”。二、实践1.构建测试集importpandasaspdimportnumpyasnp#创建测试集df=pd.DataFrame({'Year':[2017,2018......
  • Python编程写的圣诞树|一共六款|快拿去送给心爱的人吧
    先上图:上代码:定义背景t=turtle.Turtle()#定义速度#t.speed("fastest")#定义背景颜色screensize(bg='black')t.left(90)t.forward(3*n)#定义最上端星星......
  • python安装与配置
    1、官网下载:https://www.python.org/downloads/windows/  下载的exe包直接双击安装即可安装完毕后命令行直接可以运行python  2、python包安装python有大量的......
  • Python学习笔记:Jupyter Notebook插件之Nbextensions
    一、安装通过pip直接进行安装并激活。#下载安装pipinstalljupyter_contrib_nbextensions#添加工具栏jupytercontribnbextensioninstall安装完之后,打开Ju......
  • python对m3u8文件的简单处理(一)
    前言:最近一直在看python方面的知识,突然对python对视频如何处理非常感兴趣,于是百度一下,看看网上的方法,根据兴趣,试着从网上下载一个m3u8的实例看看。本实例为个人学习使用,试着......
  • python从中文数字数据区间提取minmax最小值、最大值返回pandas
    先上结果:定义转换函数代码:defrange2min(text):if'千'intext:text=text.replace('千','000')#替换中文为数字if'万'intext:text=tex......