用BeautifulSoup爬取網站部分內容
阿新 • • 發佈:2019-02-13
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根據標籤提取特定內容的初步應用。