如果要用python抓取網頁資料的話,建議使用requests、BeautifulSoup4的套件來進行網路爬蟲

首先,先用之前介紹的pip套件來裝requests、BeautifulSoup4

在你的cmd輸入:Python -m pip install requests 

:  Python -m pip install BeautifulSoup4

接著在你的python 環境裡,

輸入:


import requests
req =requests.get('https://www.ptt.cc/bbs/HatePolitics/index.html')  print req.text.encode('utf-8')

 上面這段就可以幫 我們把網頁上的資料全部抓下來,

但是光載下網頁的資料是不夠的,因為這樣還是沒辦法幫我們抓到所需資訊,(例如我們想抓的是標題、作者、時間)

這時候我們可以在任一標題的旁邊按右鍵,選擇檢查元件,發現class name為 r-ent ,我們可以從這個class name中抓到包含標題、時間、作者名稱的內容


import requests
from bs4 import BeautifulSoup
re=requests.get('https://www.ptt.cc/bbs/HatePolitics/index.html')
#  print re.text.encode('utf-8')
soup=BeautifulSoup(re.text.encode('utf-8'), "html.parser")
print soup.select('.r-ent'):

接著再進一步check 標題、作者、時間的class name, 分別為title, author, date

因此我們可以輸入以下的code爬到ptt的標題、作者、時間的資訊。



import requests
from bs4 import BeautifulSoup
re=requests.get('https://www.ptt.cc/bbs/HatePolitics/index.html')
# print re.text.encode('utf-8')
soup=BeautifulSoup(re.text.encode('utf-8'), "html.parser")
for line in soup.select('.r-ent'):
print line.select('.title')[0].text.encode('utf-8')
print line.select('.date')[0].text.encode('utf-8'),line.select('.author')[0].text.encode('utf-8')

輸出結果入下:



[新聞] 南市立委黃偉哲「單槍匹馬」辦理參選登記

11/25 saiulbb

[轉錄] 王如玄的官場現形記

11/25 tony121010

[討論] 國民黨做莊 關門放狗怎麼辦

11/25 win13

[黑特] IS點名台灣,柯文哲卻為恐攻開後門

11/25 cs2260cs

Fw: [新聞] 購地爭議 王如玄被爆逼地主3倍價買

11/25 jimmy5680

[新聞] 宋楚瑜:省長時改建的眷村 家人也都沒

11/25 qiuqing

[討論]  臺北中正萬華的立委

11/25 cothade

我爸傳一個政大教授鬼扯反課綱文章結果……

11/25 zx126126987

Re: [黑特] IS點名台灣,柯文哲卻為恐攻開後面

11/25 kim

[新聞] 【更新】羅淑蕾:王如玄還有很多事可以爆

11/25 m195566

[轉錄] 【專文】選藍換和平?選藍被統,打美軍!

11/25 tony121010

Re: [討論] 王如玄真的是婦權律師嗎

11/25 swgun

Re: [討論] 不懂朱立倫的盤算

11/25 opthr1215

(本文已被刪除) [loser1]
11/25 -

[新聞] 台灣遭IS點名 柯P怨美:出錢做工才找我

11/25 LAPDSWAT456

[討論] 台灣繼無薪價後又一創舉-加倍奉還

11/25 douge

[討論] 個人對蔡總統的個性分析

11/25 takuminauki

[討論] 鐵票區立委= 終身職

11/25 LienPig

Re: [新聞] 購地爭議 王如玄被爆逼地主3倍價買

11/25 twyes1688

政治黑特板板規_20150817_V2.1 

 8/17 hw102050

[公告] 調整後的板規條文開始實行

10/01 diefishfish

[公告] 2016 總統立委大選祭品、打賭文整理

 8/05 chataulait

[公告] 「正港政治黑特文」投票

11/21 chataulait

[公告]【緊急】賭盤開賭 按小寫f下注!

11/24 diefishfish

Process finished with exit code 0


耶~就這樣,我們就完成了ptt爬蟲的爬取了!!


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 HaoWei 的頭像
    HaoWei

    NLP Notes

    HaoWei 發表在 痞客邦 留言(2) 人氣()