正则爬取某段子网站前20页段子(request库)

news/2024/5/19 10:54:39/文章来源:https://blog.csdn.net/weixin_30437481/article/details/101540439

首先还是谷歌浏览器抓包对该网站数据进行分析,结果如下:

  • 该网站地址:http://www.budejie.com/text
  • 该网站数据都是通过html页面进行展示,网站url默认为第一页,http://www.budejie.com/text/2为第二页,以此类推
  • 对网站的内容段子所处位置进行分析,发现段子内容都是在一个 a 标签中

  • 坑还是有的,这是我第一次写的正则:
content_list = re.findall(r'<a href="/detail-.*">(.+?)</a>', html_str) 
  • 之后发现竟然匹配到了一些推荐的内容,最后我把正则改变下面这样,发现没有问题了,关于正则的知识这里就不做过多解释了
content_list = re.findall(r'<div class="j-r-list-c-desc">\s*<a href="/detail-.*">(.+?)</a>', html_str) 
  • 现在要的是爬取前20页的段子并保存到本地,已经知道翻页的规律和匹配内容的正则,就直接可以写代码了

 

代码如下,整体思路还是和前两排爬虫博客一样,面向对象的写法:

 1 import requests
 2 import re
 3 import json
 4 
 5 class NeihanSpider(object):
 6     """内涵段子,百思不得其姐,正则爬取一页的数据"""
 7     def __init__(self):
 8         self.temp_url = 'http://www.budejie.com/text/{}'  # 网站地址,给页码留个可替换的{}
 9         self.headers = {
10             'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36',
11         }
12 
13     def pass_url(self, url):  # 发送请求,获取响应
14         print(url)
15         response = requests.get(url, headers=self.headers)
16         return response.content.decode()
17 
18     def get_first_page_content_list(self, html_str):  # 提取第一页的数据
19         content_list = re.findall(r'<div class="j-r-list-c-desc">\s*<a href="/detail-.*">(.+?)</a>', html_str)  # 非贪婪匹配
20         return content_list
21 
22     def save_content_list(self, content_list):
23         with open('neihan.txt', 'a', encoding='utf-8') as f:
24             for content in content_list:
25                 f.write(json.dumps(content, ensure_ascii=False))
26                 f.write('\n')  # 换行
27             print('成功保存一页!')
28 
29     def run(self):  # 实现主要逻辑
30         for i in range(20):  # 只爬取前20页数据
31             # 1. 构造url
32             # 2. 发送请求,获取响应
33             html_str = self.pass_url(self.temp_url.format(i+1))
34             # 3. 提取数据
35             content_list = self.get_first_page_content_list(html_str)
36             # 4. 保存
37             self.save_content_list(content_list)
38 
39 if __name__ == '__main__':
40     neihan = NeihanSpider()
41     neihan.run()

 

转载于:https://www.cnblogs.com/springionic/p/11110314.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_781938.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一键 图_高效抠图PS竟全然不是对手?堪称黑科技的AI一键抠图网站

[PConline 应用]“去背”一直是PS里的术语&#xff0c;只不过现在用得越来越频繁了。去除照片背景&#xff0c;意味着你可以随时随地根据自己的需要替换背景&#xff0c;满足设计或者“全球旅行”的梦想。当然就像很多PS梦想神器一样&#xff0c;“去背”说起来容易做起来难&am…

nifi 读取mysql_使用NiFi简单的从网站获取数据写入到mysql数据库

最近稍微研究了下etl工具nifi&#xff0c;它是Apache下面的一个项目&#xff0c;是用作数据流处理的&#xff0c;具体的就不多做介绍了&#xff0c;网上也有很多介绍&#xff0c;官网是https://nifi.apache.org/docs.html&#xff0c;我在这里做了一个从中移物联网onenet平台抽…

dw通过iis运行asp网站总结

ASP站点主要是结合iis和dw软件运行和浏览的 1、首先在本地先建立一个测试文件夹webs 2、打开iis管理器 3、建立创建网站 这里有个 4、dw中创建站点&#xff0c;并导入asp项目 下边的url是根据iis中配置的端口号和主机名组成的&#xff1a; 最后运行浏览asp页面 转载于:https://…

[转] 网站性能优化之------------- 数据库及服务器架构篇

转载自: http://blog.163.com/dangzhengtaoyeah/blog/static/7780087420098232213289/?fromdm&fromSearch&isFromSearchEngineyes 1、Web Server 与 DB Server 分离 小型网站或 B/S 项目&#xff0c;因同时在线人数不多&#xff0c;尚可让同一台物理主机&#xff0c;既…

网站元数据meta标签的含义和用法

随着HTML5的流行和Web技术的不断演变&#xff0c;Meta标签队伍也越来越壮大&#xff0c;从Windows XP的IE6到如今Windows 7、Windows 8的IE9、IE10、IE11&#xff0c;对Html5的支持越来越好&#xff0c;html meta标签的功能作用也越来越强大。 首先&#xff0c;先说一下最初产生…

tornado+bootstrap急速搭建你自己的网站

bootstrap既然是这么的流行又能省很多的事为什么不用他呢&#xff1f;再加上牛X的produced by FB的tornado简直如虎添翼了&#xff01; 1. 安装配置 安装所需要的库等内容。这里没什么需要多讲的。tornado直接用easy_install或者pip。bootstrap直接下下来就OK了。当然还需要下载…

网站前端_Bootstrap.基础入门.0001.模版标准/样式标准/脚本标准入门?

简单介绍:1. Bootstrap于2010年Twitter开源将常见的CSS布局小组件和JS插件进行了封装,大大规范且提高了代码质量及开发效率.2. Bootstrap包含完整的基础CSS插件,丰富的预定义样式表,基于JQuery的JS插件集,非常灵活的响应式删栏系统,支持跨平台,且完全支持自定义.注意: Bootstra…

IT老鸟带你解决银行招标网站[金采网]无法注册供应商问题

目录 一、金采网介绍 二、背景及问题 三、分析思路 四、解决办法 五、扩展解决思路 六、最后感想 一、金采网介绍 金采网(http://www.cfcpn.com)是中国金融学会金融采购专业委员会对外的工作平台&#xff0c;是国内唯一的、专业服务金融行业采购业务的权威网站平台。 金…

QA小课堂:一个网站或者APP开发要多少钱

经常遇到朋友问我&#xff1a;“开发一个京东商城需要多少钱&#xff1f;开发一个滴滴打车需要多少钱&#xff1f;”类似这样的需求&#xff0c;就连我这样一名伪开发者都不愿意去骗客户或者朋友&#xff0c;因为这种问题是很难回答出来的。为什么这么说呢&#xff1f;要知道类…

selenium测试https网站

为什么80%的码农都做不了架构师&#xff1f;>>> 当访问一个https的网站&#xff0c;通常浏览器会收到一份证书&#xff0c;该证书包含了服务器的公钥以及CA的签名 服务器的公钥 服务器一般会生成一对密钥&#xff0c;公钥和私钥 服务器把公钥放在证书中请求CA的签名…

给你的网站添加支付宝即时到帐按钮

前言 大家都知道PayPal有一个非常使用的「一键转账」功能&#xff0c;但是自从支付宝的个人收款主页停止服务后&#xff0c;支付宝已经无法实现该功能了&#xff0c;那有我天朝人民想不到的办法呢&#xff1f;今天博猪就来教大家使用一个极其简单的 form 标签经过 POST 可以一键…

网站安全狗IIS版、服务器安全狗Windows版

2019独角兽企业重金招聘Python工程师标准>>> 2016年11月2日&#xff0c;云安全服务与解决方案提供商安全狗升级发布网站安全狗Windows_IIS版本&#xff0c;版本号为 V4.0.15716正式版&#xff0c;该版本优化了多个功能服务&#xff0c;目前安全狗官网http://www.saf…

hexo的next主题个性化教程:打造炫酷网站

注意下面那些图床失效了&#xff0c;可以在这里看http://shenzekun.cn/hexo%E7%9A%84next%E4%B8%BB%E9%A2%98%E4%B8%AA%E6%80%A7%E5%8C%96%E9%85%8D%E7%BD%AE%E6%95%99%E7%A8%8B.html 看到有些next主题的网站很炫酷&#xff0c;那么是怎么配置的呢&#xff1f;接下来我会讲一讲…

《网站设计 开发 维护 推广 从入门到精通》——1.2 网页美工常用工具

本节书摘来自异步社区《网站设计 开发 维护 推广 从入门到精通》一书中的第1章&#xff0c;第1.2节&#xff0c;作者&#xff1a; 何新起 , 娄彦杰 更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.2 网页美工常用工具 制作网页第一件事就是要选定网页制作软件。虽然…

LVS(负载均衡)+keepalived(HA)+Nginx(反向代理)+Web(动静态网站服务器)

考虑到LVS和Nginx的缺点&#xff08;由于LVS采用的是同步请求转发策略而Nginx采用的是异步转发策略&#xff0c;结合两者的缺点:作为负载均衡服务器的Nginx和LVS处理相同的请求时&#xff0c;所有的请求和响应流量都会经过Nginx服务器&#xff0c;但是使用LVS时&#xff0c;仅请…

快播CEO认罪,成人网站对技术的要求有多高?

快播涉传播淫秽物品案昨日在海淀法院开庭审理。快播公司、王欣、张克东、牛文举均表示认罪悔罪。吴铭表示快播公司犯罪成立。 庭前法院委托鉴定机关&#xff0c;对涉案的四台缓存服务器的硬盘数据是否受到改写污染问题进行了鉴定。鉴定结论是&#xff1a;未发现硬盘中的视频文件…

收录高的网站关键词一定要这么布局

随着互联网的高速发展&#xff0c;网站几乎成了每一家企业后者公司不可缺少的一部分&#xff0c;网站也成了公司或者企业的第二个基地——线上展示。这个在网站建设的时候需要先给网站定位好&#xff0c;因为需要提前做好关键词的布局准备&#xff0c;虽然行业千千万&#xff0…

提供在线linux的网站,谁能提供一个在线免费学习Linux的网站?

楼主发表于:2008-04-21 19:46:20求一个可以在线学习LINUX 并且可以在线练习很多常用命令的网站 就是不用装linux 也可以练习linux的网站 谢谢。 对我有用[0]丢个板砖[0]引用举报管理TOP 回复次数:8 fox000002(糊糊。。楼主发表于:2008-04-21 19:46:20求一个可以在线学习LINUX 并…

为hexo 网站加上live2d看板娘

为网站加上live2d看板娘hexo-helper-live2d看板娘终极进化&#xff0c;可换装hexo-helper-live2d 下载hexo-helper-live2d github地址 这是官网效果 好了虽然上面已经给出官网地址 但是还是给你讲解一下 打开dos命令 切换到你博客目录执行 npm install --save hexo-helper-…

为你网站添加上评论系统

为你网站添加上评论系统想想你看过next后你会发现hexo有很多评论系统1.多说 2.网易云跟帖 3.畅言 4.来必力&#xff08;LiveRe&#xff09; 5.Disqus 6.Hypercomments 7.valine 等等等~~~~~~很多 但是我都看了一遍都贼麻烦只有这一个比较简单 首先开启valine 打开next的配置文件…