亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python正則抓取網(wǎng)易新聞的方法示例

 更新時間:2017年04月21日 14:37:22   作者:我要的shine  
這篇文章主要介紹了Python正則抓取網(wǎng)易新聞的方法,結(jié)合實例形式較為詳細(xì)的分析了Python使用正則進(jìn)行網(wǎng)易新聞抓取操作的相關(guān)實現(xiàn)技巧與注意事項,需要的朋友可以參考下

本文實例講述了Python正則抓取網(wǎng)易新聞的方法。分享給大家供大家參考,具體如下:

自己寫了些關(guān)于抓取網(wǎng)易新聞的爬蟲,發(fā)現(xiàn)其網(wǎng)頁源代碼與網(wǎng)頁的評論根本就對不上,所以,采用了抓包工具得到了其評論的隱藏地址(每個瀏覽器都有自己的抓包工具,都可以用來分析網(wǎng)站)

如果仔細(xì)觀察的話就會發(fā)現(xiàn),有一個特殊的,那么這個就是自己想要的了

然后打開鏈接就可以找到相關(guān)的評論內(nèi)容了。(下圖為第一頁內(nèi)容)

接下來就是代碼了(也照著大神的改改寫寫了)。

#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款非常方便的正則表達(dá)式工具供大家參考使用:

JavaScript正則表達(dá)式在線測試工具:
http://tools.jb51.net/regex/javascript

正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python正則表達(dá)式用法總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • 簡單了解django處理跨域請求最佳解決方案

    簡單了解django處理跨域請求最佳解決方案

    這篇文章主要介紹了簡單了解django處理跨域請求最佳解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • 利用Python打造一個多人聊天室的示例詳解

    利用Python打造一個多人聊天室的示例詳解

    這篇文章主要介紹的是利用Python實現(xiàn)的一個簡易的多人聊天室,文中的示例代碼講解詳細(xì),對學(xué)習(xí)Python有一定的幫助,感興趣的可以學(xué)習(xí)一下
    2021-12-12
  • Python matplotlib庫的安裝和簡單使用

    Python matplotlib庫的安裝和簡單使用

    本文主要介紹matplotlib庫的安裝和簡單使用,針對新手,首先從升級pip工具開始,然后使用pip工具從國內(nèi)鏡像快速下載安裝matplotlib庫,同時附帶簡單完整的python代碼,感興趣的小伙伴跟著小編一起來看看吧
    2024-10-10
  • Python專用方法與迭代機(jī)制實例分析

    Python專用方法與迭代機(jī)制實例分析

    這篇文章主要介紹了Python專用方法與迭代機(jī)制,包括類的私有方法、專有方法、模塊私有對象、迭代__iter__()方法的對象等,需要的朋友可以參考下
    2014-09-09
  • Python的數(shù)據(jù)結(jié)構(gòu)與算法的隊列詳解(3)

    Python的數(shù)據(jù)結(jié)構(gòu)與算法的隊列詳解(3)

    這篇文章主要為大家詳細(xì)介紹了Python的隊列,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Python報錯ImportError:?IProgress?not?found.?Please?update?jupyter?and?ipywidgets解決

    Python報錯ImportError:?IProgress?not?found.?Please?update

    在使用Jupyter Notebook或JupyterLab進(jìn)行交互式編程時,我們可能會遇到各種導(dǎo)入錯誤,本文就來介紹一下Python報錯ImportError:?IProgress?not?found.?Please?update?jupyter?and?ipywidgets解決,感興趣的可以了解一下
    2024-06-06
  • Python實現(xiàn)將JSON格式文件導(dǎo)入redis

    Python實現(xiàn)將JSON格式文件導(dǎo)入redis

    這篇文章主要為大家詳細(xì)介紹了Python實現(xiàn)將JSON格式文件導(dǎo)入redis的多種方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2023-01-01
  • Anaconda+VSCode配置tensorflow開發(fā)環(huán)境的教程詳解

    Anaconda+VSCode配置tensorflow開發(fā)環(huán)境的教程詳解

    Anaconda是一個開源的python發(fā)行版本,是現(xiàn)在比較流行的python數(shù)據(jù)科學(xué)平臺,可以對python的科學(xué)包做到有效管理。這篇文章主要介紹了Anaconda+VSCode配置tensorflow開發(fā)環(huán)境,需要的朋友可以參考下
    2020-03-03
  • python使用鎖訪問共享變量實例解析

    python使用鎖訪問共享變量實例解析

    這篇文章主要介紹了python使用鎖訪問共享變量實例解析,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • 學(xué)習(xí)Python列表的基礎(chǔ)知識匯總

    學(xué)習(xí)Python列表的基礎(chǔ)知識匯總

    本文給大家匯總介紹了學(xué)習(xí)Python列表的一些基礎(chǔ)知識,有了這份python列表的資料,對大家初識Python列表會非常有幫助,希望大家喜歡
    2020-03-03

最新評論