Python爬取新浪微博評論


  • 環境: Python3 + windows。

  • 開發工具:Anaconda + Jupyter / VS Code。

  • 學習效果:

    1. 認識爬蟲 / Robots協議

    2. 了解瀏覽器開發者工具

    3. 動態加載頁面的處理

    4. 手機客戶端頁面的數據采集

Robots.txt 協議

Robots協議,也稱為爬蟲協議

網站通過Robots協議告訴搜索引擎哪些頁面可以抓取,哪些頁面不能抓取。Robots是一個協議,而不是一個命令。Robots.txt文件是一個文本文件,是放置在網站根目錄下,使用任何一個常見的文本編輯器,就可以創建和編輯它。Robots.txt是搜索引擎中訪問網站的時候要查看的第一個文件,其主要的作用就是告訴蜘蛛程序在服務器上什么文件是可以被查看的。

Robots協議是國際互聯網界通行的道德規范。約定俗成。

Python代碼

  • 導入模塊
1 import requests
2 import pandas
3 import json
4 import time
  • 反爬
1 head = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0'}
2 Cookie = {'Cookie':'_T_WM=f6d406d777aafb7ed7671865d1f83799; SUB=_2A2504yPYDeRhGeNO6VMY9SvEyTuIHXVULE2QrDV6PUJbkdAKLW_YkW0b_QKWV_mSPrmPv7aZsGtGMxBDlQ..; SUHB=079ja78HU_LZCb; SCF=AmqC1lSo0254S3K0WtBQVQwXfOSQ7ivbLAOSCObPteJy5JckO3l0ZH7pSTuid_JRXlWylgjTetdZzQcModbM4A4.; H5:PWA:UID=1; M_WEIBOCN_PARAMS=featurecode%3D20000320%26oid%3D4160547165300149%26luicode%3D20000061%26lfid%3D4160547165300149; H5_INDEX=0_all; H5_INDEX_TITLE=%E6%8C%96%E6%8E%98%E6%9C%BA%E5%A4%A7%E7%8E%8B%E5%AD%90'}
 1 url = 'https://m.weibo.cn/api/comments/show?id=4160547165300149&page=2'
 2 html = requests.get(url,headers = head, cookies = Cookie)
 3 ii = 1
 4 while html.status_code==200:
 5     ii = ii+1
 6     url_next='https://m.weibo.cn/api/comments/show?id=4160547165300149&page='+str(ii)                   
 7     
 8     try:
 9         for jj in range(1,len(html.json()['data'])):
10             data1 = [(html.json()['data'][0]['id'],
11              html.json()['data'][jj]['user']['screen_name'],
12              html.json()['data'][jj]['created_at'],
13              html.json()['data'][jj]['source'],
14             html.json()['data'][jj]['user']['id'],
15             html.json()['data'][jj]['user']['profile_url'],
16             html.json()['data'][jj]['user']['profile_image_url'],
17              html.json()['data'][jj]['text'])]
18             data2 = pandas.DataFrame(data1,columns=['莫名id','評論者昵稱','評論時間','手機版本','用戶id','評論者主頁','評論者頭像','評論內容'])
19             data2.to_csv('D:/Windows 7 Documents/Desktop/My/weibo2.csv', header=False,index=False,mode='a+') #寫入csv文件,'a+'是追加模式
20     
21     except:
22         
23         None
24     
25     time.sleep( 2 )
26                         
27     html=requests.get(url_next,cookies=Cookie,headers=head)

Python發展方向

  • 數據分析/數據挖掘

    關聯分析【啤酒與尿布】,聚類分析 ,判別分析 ,隨機森林 .

  • 人工智能

    一種能以人類智能相似的方式做出反應的智能機器,該領域的研究包括機器人、語言識別、圖像識別、自然語言處理等。例如AlphaGo , AlphaGo Zero.

  • Python運維

    不會開發的運維終將被淘汰!!!

  • WEB開發

    開發網站,例如豆瓣網。側重於實戰!!!

  • Python爬蟲

    采集網絡數據,為數據分析或大數據等提供支持,大型的比如Google,百度等。側重於實戰!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM