国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python正則抓取網易新聞的方法示例

2020-02-23 04:36:02
字體:
來源:轉載
供稿:網友

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

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

如果仔細觀察的話就會發現,有一個特殊的,那么這個就是自己想要的了

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

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

#coding=utf-8import urllib2import reimport jsonimport timeclass 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()            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长垣县| 湟源县| 东安县| 遵义县| 苗栗县| 石河子市| 涪陵区| 灵璧县| 喀喇沁旗| 长治县| 乌拉特后旗| 曲水县| 永济市| 娄底市| 偏关县| 佛坪县| 清流县| 长子县| 南靖县| 桂东县| 仪陇县| 昌都县| 仲巴县| 盐津县| 治多县| 台江县| 澜沧| 克拉玛依市| 峡江县| 合肥市| 鱼台县| 双流县| 青田县| 晋宁县| 灵璧县| 自贡市| 揭东县| 会东县| 揭东县| 绥化市| 庆云县|