Python正则抓取网易新闻的方法示例
发布时间 - 2026-01-11 00:46:02 点击率:次本文实例讲述了Python正则抓取网易新闻的方法。分享给大家供大家参考,具体如下:

自己写了些关于抓取网易新闻的爬虫,发现其网页源代码与网页的评论根本就对不上,所以,采用了抓包工具得到了其评论的隐藏地址(每个浏览器都有自己的抓包工具,都可以用来分析网站)
如果仔细观察的话就会发现,有一个特殊的,那么这个就是自己想要的了
然后打开链接就可以找到相关的评论内容了。(下图为第一页内容)
接下来就是代码了(也照着大神的改改写写了)。
#coding=utf-8
import urllib2
import re
import json
import time
class WY():
def __init__(self):
self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.24 (KHTML, like '}
self.url='http://comment.news.163.com/data/news3_bbs/df/B9IBDHEH000146BE_1.html'
def getpage(self,page):
full_url='http://comment.news.163.com/cache/newlist/news3_bbs/B9IBDHEH000146BE_'+str(page)+'.html'
return full_url
def gethtml(self,page):
try:
req=urllib2.Request(page,None,self.headers)
response = urllib2.urlopen(req)
html = response.read()
return html
except urllib2.URLError,e:
if hasattr(e,'reason'):
print u"连接失败",e.reason
return None
#处理字符串
def Process(self,data,page):
if page == 1:
data=data.replace('var replyData=','')
else:
data=data.replace('var newPostList=','')
reg1=re.compile(" \[<a href=''>")
data=reg1.sub(' ',data)
reg2=re.compile('<\\\/a>\]')
data=reg2.sub('',data)
reg3=re.compile('<br>')
data=reg3.sub('',data)
return data
#解析json
def dealJSON(self):
with open("WY.txt","a") as file:
file.write('ID'+'|'+'评论'+'|'+'踩'+'|'+'顶'+'\n')
for i in range(1,12):
if i == 1:
data=self.gethtml(self.url)
data=self.Process(data,i)[:-1]
value=json.loads(data)
file=open('WY.txt','a')
for item in value['hotPosts']:
try:
file.write(item['1']['f'].encode('utf-8')+'|')
file.write(item['1']['b'].encode('utf-8')+'|')
file.write(item['1']['a'].encode('utf-8')+'|')
file.write(item['1']['v'].encode('utf-8')+'\n')
except:
continue
file.close()
print '--正在采集%d/12--'%i
time.sleep(5)
else:
page=self.getpage(i)
data = self.gethtml(page)
data = self.Process(data,i)[:-2]
# print data
value=json.loads(data)
# print value
file=open('WY.txt','a')
for item in value['newPosts']:
try:
file.write(item['1']['f'].encode('utf-8')+'|')
file.write(item['1']['b'].encode('utf-8')+'|')
file.write(item['1']['a'].encode('utf-8')+'|')
file.write(item['1']['v'].encode('utf-8')+'\n')
except:
continue
file.close()
print '--正在采集%d/12--'%i
time.sleep(5)
if __name__ == '__main__':
WY().dealJSON()
以上就是我爬取的代码了。
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools./regex/javascript
正则表达式在线生成工具:
http://tools./regex/create_reg
更多关于Python相关内容可查看本站专题:《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
# Python
# 正则
# 抓取
# 网易新闻
# Python 通过requests实现腾讯新闻抓取爬虫的方法
# python爬虫获取新浪新闻教学
# python基础教程项目四之新闻聚合
# Python爬取十篇新闻统计TF-IDF
# python使用nntp读取新闻组内容的方法
# 以911新闻为例演示Python实现数据可视化的教程
# Python采集腾讯新闻实例
# Python爬虫爬取新闻资讯案例详解
# 正则表达式
# 自己的
# 进阶
# 操作技巧
# 就会
# 都有
# 相关内容
# 不上
# 数据结构
# 大神
# 给大家
# 采用了
# 就是我
# 写了
# 图为
# 就对
# 更多关于
# 第一页
# 所述
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法
HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
Laravel如何配置任务调度?(Cron Job示例)
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
如何在IIS7中新建站点?详细步骤解析
Laravel怎么在Blade中安全地输出原始HTML内容
b2c电商网站制作流程,b2c水平综合的电商平台?
Laravel如何配置和使用缓存?(Redis代码示例)
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
如何在Windows虚拟主机上快速搭建网站?
免费网站制作appp,免费制作app哪个平台好?
JavaScript数据类型有哪些_如何准确判断一个变量的类型
Laravel如何使用Service Container和依赖注入?(代码示例)
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
如何在景安云服务器上绑定域名并配置虚拟主机?
Linux安全能力提升路径_长期防护思维说明【指导】
如何用狗爹虚拟主机快速搭建网站?
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
如何制作一个表白网站视频,关于勇敢表白的小标题?
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
如何在IIS管理器中快速创建并配置网站?
Laravel如何集成Inertia.js与Vue/React?(安装配置)
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
北京专业网站制作设计师招聘,北京白云观官方网站?
长沙企业网站制作哪家好,长沙水业集团官方网站?
Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】
WordPress 子目录安装中正确处理脚本路径的完整指南
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
潮流网站制作头像软件下载,适合母子的网名有哪些?
浅谈Javascript中的Label语句
如何快速查询网址的建站时间与历史轨迹?
Laravel如何处理文件下载请求?(Response示例)
Laravel项目怎么部署到Linux_Laravel Nginx配置详解
Laravel Docker环境搭建教程_Laravel Sail使用指南
如何在云主机上快速搭建多站点网站?
如何快速选择适合个人网站的云服务器配置?
java ZXing生成二维码及条码实例分享
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
如何用PHP快速搭建CMS系统?
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
如何破解联通资金短缺导致的基站建设难题?
JS碰撞运动实现方法详解
如何在IIS服务器上快速部署高效网站?

