全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Python正则抓取网易新闻的方法示例

本文实例讲述了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小时内与您取得联系。