Python爬虫--爬取糗事百科段子

爬取糗事百科段子:

段子在 <div class="content"> 里面的 <span> 标签里面

不过这里有个坑,div 标签跟 span 标签 之间有很多空行

普通 .*? 是匹配不了的,需要使用模式修饰符 S

S 的意思 让 .(点) 匹配,包括换行符

images


我们来爬文字的段子

先看看他的 url 有什么规律,

https://www.qiushibaike.com/text/page/1/

第一页就是 1 ,第 2 页就是 2

代码跟之前几乎一样,只是正则不同,应该不需要怎么介绍了

代码:


import urllib.request
import re
import time

headers = (

	"User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"

	)

opener = urllib.request.build_opener()

opener.addheaders = [headers]

urllib.request.install_opener(opener)  # 安装为全局

for i in range(1,5):
	this_url = "https://www.qiushibaike.com/text/page/"+str(i)+"/"

	data = urllib.request.urlopen(this_url).read().decode("utf-8","ignore")

	path = '<div class="content">.*?<span>(.*?)</span>.*?</div>'

	resut = re.compile(path,re.S).findall(data)

	for j in resut:
		print(j)
		
	time.sleep(0.5)

运行效果就这样

images

如果怕请求出错的话,

可以使用 try except 方法来捕获异常

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

余十步

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值