1. 程式人生 > >用BeautifulSoup爬取網站部分內容

用BeautifulSoup爬取網站部分內容

BeautifulSoup通過解析文件(lxml/xml)來為使用者提供需要抓取的資料。

BeautifulSoup是一種比正則表示式更簡便的方式,來從網頁文件中提取出所需要的特定內容的方法。

爬蟲最關鍵的點是搞清楚網頁結構。

以爬取糗事百科內的文欄位子為例:

1.在開發者工具中定位文字在lxml中的字串位置。找到每一段文欄位子具有共性的標籤。

在這裡是<div class="content">(也就是說每一個段子都有的標籤)

2.得到某個網頁的html文件字串:

import requests
a = requests.get('https://www.qiushibaike.com')
contents = a.text

3.用BeautifulSoup來找到所需內容:

from bs4 import BeautifulSoup
soup = BeautifulSoup(contents, 'lxml')
divs = soup.find_all(class_='content')
for div in divs:
    joke = div.span.get_text()
    print(joke)
    print('------')

結果輸出被短橫線間隔的文欄位子。

就此,完成了requests和bs4.BeautifalSoup根據標籤提取特定內容的初步應用。