1. 程式人生 > >【Python】BeautifulSoup爬取新聞內容

【Python】BeautifulSoup爬取新聞內容

本篇博文是爬取網站新聞的簡單例子,如果要深入瞭解爬蟲,請移步,不要因為這篇博文耽誤你寶貴時間。

網站原始碼如下,我們目標是爬取<p>標籤下的新聞內容:


程式碼如下:

from urllib.request import urlopen
from bs4 import BeautifulSoup

html = urlopen("http://news.ifeng.com/a/20180701/58955394_0.shtml")
bsObj = BeautifulSoup(html,'html.parser')
for content in bsObj.find("div",{"class":"yc_con_txt"}).findAll("p"):
    print(content.text)

urllib是python的自帶庫,bs4(beautifulsoup4)需要安裝。

urlopen用來開啟連結,生成html檔案,便於後面獲取資料。

BeautifulSoup結構化html檔案,便於我們閱讀。

bsObj.find("div",{"class":"yc_con_txt"}).findAll("p"):首先使用find定位到div標籤(因為此處只需要定位一個div標籤,所以使用了find,查詢多個可以使用findAll),因為div下的p標籤有多個,所以使用findAll。

find後的結果是列表格式,使用for迴圈即可獲取全部p標籤下的內容。

爬取結果如下:

原標題:習近平致電祝賀非洲聯盟第31屆首腦會議召開
新華社北京7月1日電國家主席習近平1日致電在茅利塔尼亞首都努瓦克肖特舉行的非洲聯盟第31屆首腦會議,向非洲國家和人民熱烈祝賀會議的召開。
習近平指出,非洲聯盟是非洲聯合自強的旗幟。非盟積極推進非洲一體化程序,非洲國家在重大國際和地區問題上繼續用一個聲音說話,維護和平與安全能力不斷提升。衷心祝願非盟引領非洲國家不斷取得新的更大成就。
習近平強調,今年9月將舉行中非合作論壇北京峰會。會議以“合作共贏,攜手構建更加緊密的中非命運共同體”為主題,中方將同非方攜手努力,把峰會主題同中非共建“一帶一路”、聯合國2030年可持續發展議程、非盟《2063年議程》及非洲各國發展戰略結合起來,推動中非全面戰略合作伙伴關係邁上新臺階。我期待同非方領導人在北京共襄盛舉,共商中非合作發展大計,為增進中非人民福祉、促進世界和平與發展貢獻力量。(完)