【Python爬蟲】用CSS 選擇器提取網頁數據


使用 pip 安裝 requests_html 庫

 pip install requests_html

根據你的網絡情況,通常需要幾分鍾時間。

在你的電腦任意位置,新建一個 crawler.py 文件。輸入並執行以下 4 行代碼:

from requests_html import HTMLSession
session = HTMLSession()
r = session.get('https://movie.douban.com/subject/1292052/')
print(r.text)

運行

你將會看到如下輸出:

<!DOCTYPE html>
<html lang="zh-cmn-Hans" class="ua-mac ua-webkit">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="renderer" content="webkit">
    <meta name="referrer" content="always">
    <meta name="google-site-verification" content="" />
    <title>
        肖申克的救贖 (豆瓣)
</title>

... 以下省略 3000 行

提取網頁中所需內容

你將使用強大的 CSS 選擇器 來提取網頁中有價值的信息。

CSS 選擇器可以從結構化的網頁中選擇一個特定的元素。

大多數瀏覽器都提供了獲得頁面上特定元素 CSS 選擇器的功能。

先查看一段內容的代碼,在代碼上點擊右鍵,選擇 Copy -> Copy Selector (或者 Copy CSS Selector、復制 CSS 選擇器),就能將這段內容對應的 CSS 選擇器復制到剪貼板。

現在你需要訪問 這個 頁面。按照上面的介紹,把電影名稱對應的選擇器復制上

回到之前創建的 crawler.py 文件,使用 Python 和 CSS 選擇器來提取網頁內容。

from requests_html import HTMLSession
session = HTMLSession()
r = session.get('https://movie.douban.com/subject/1292052/')
title = r.html.find('用你的選擇器替換這里的內容', first=True)
# r.html.find() 接受一個 CSS 選擇器(字符串形式)作為參數
# 返回在網頁中使用該選擇器選中的內容。

print(title.text)

運行看看,你是否把電影名稱從網頁中提取出來了呢?如果成功了,試試提取其它你感興趣的內容吧!

 


免責聲明!

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



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