本文实例讲述了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爬虫爬取新闻资讯案例详解
# 正则表达式
# 自己的
# 进阶
# 操作技巧
# 就会
# 都有
# 相关内容
# 不上
# 数据结构
# 大神
# 给大家
# 采用了
# 就是我
# 写了
# 图为
# 就对
# 更多关于
# 第一页
# 所述
相关文章:
如何在云主机上快速搭建网站?
高防服务器租用指南:配置选择与快速部署攻略
建站主机与虚拟主机有何区别?如何选择最优方案?
建站之星安装需要哪些步骤及注意事项?
如何快速搭建高效简练网站?
建站之星如何配置系统实现高效建站?
攀枝花网站建设,攀枝花营业执照网上怎么年审?
建站之星代理平台如何选择最佳方案?
javascript基本数据类型及类型检测常用方法小结
建站主机如何选?高性价比方案全解析
东莞专业制作网站的公司,东莞大学生网的网址是什么?
山东网站制作公司有哪些,山东大源集团官网?
重庆市网站制作公司,重庆招聘网站哪个好?
学校免费自助建站系统:智能生成+拖拽设计+多端适配
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
建站主机选购指南:核心配置与性价比推荐解析
建站之星Pro快速搭建教程:模板选择与功能配置指南
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
如何将凡科建站内容保存为本地文件?
如何用花生壳三步快速搭建专属网站?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
安云自助建站系统如何快速提升SEO排名?
C#怎么使用委托和事件 C# delegate与event编程方法
网站制作软件有哪些,制图软件有哪些?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
建站之星上传入口如何快速找到?
如何在Windows环境下新建FTP站点并设置权限?
网站好制作吗知乎,网站开发好学吗?有什么技巧?
如何正确下载安装西数主机建站助手?
完全自定义免费建站平台:主题模板在线生成一站式服务
建站之星如何修改网站生成路径?
如何在企业微信快速生成手机电脑官网?
建站主机是否属于云主机类型?
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
孙琪峥织梦建站教程如何优化数据库安全?
电脑免费海报制作网站推荐,招聘海报哪个网站多?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
存储型VPS适合搭建中小型网站吗?
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
装修招标网站设计制作流程,装修招标流程?
定制建站如何定义?其核心优势是什么?
网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?
学校建站服务器如何选型才能满足性能需求?
,怎么用自己头像做动态表情包?
详解jQuery停止动画——stop()方法的使用
如何在宝塔面板创建新站点?
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
*请认真填写需求信息,我们会在24小时内与您取得联系。