事先安裝好,pycharm
開啟File——>Settings——>Projext——>Project Interpriter
點選加號(圖中紅圈的地方)
點選紅圈中的按鈕
選中第一條,點選鉛筆,將原來的連結替換為(這裡已經替換過了):
https://pypi.tuna.tsinghua.edu.cn/simple/
點選OK後,輸入requests-html然後回車
選中requests-html後點選Install Package
等待安裝成功,關閉
範例內容:
從某博主的所有文章爬取想要的內容。
範例背景:
從(https://me.csdn.net/weixin_44286745)博主的所有文章獲取各文章的標題,時間,閱讀量。
from requests_html import HTMLSession
session = HTMLSession()
html = session.get("https://me.csdn.net/weixin_44286745").html
allBlog=html.xpath("//dl[@class='tab_page_list']")
進入網站主頁(本例: https://me.csdn.net/weixin_44286745)
文章空白處右鍵檢查可以定位到這文章的標籤
其他文章一樣操作,然後找到所有文章共同的標記(這裡所有文章的class都是‘my_tab_page_con’)
xpath 可以遍歷html的各個標籤和屬性,來定位到我們需要的資訊的位置,並提取。
網頁分析獲取標題,閱讀量,日期。
for i in allBlog:
title = i.xpath("dl/dt/h3/a")[0].text
views = i.xpath("//div[@class='tab_page_b_l fl']")[0].text
date = i.xpath("//div[@class='tab_page_b_r fr']")[0].text
print(title +' ' +views +' ' + date )
網頁分析:
因為有多篇文章,分別獲取使用for迴圈,上述程式碼已得到所有文章所以i表示一篇文章
第二行程式碼獲取文章標題,於獲取文章類似,滑鼠放到標題上右鍵檢查,因為文章只有一個標題所以用絕對路徑也可以按標籤一層層進到標題位置。
xpath返回的是列表,我們要第一個所以要加下標(列表裡也只有一個元素),要輸出的是文字,所以,text獲取文字。
閱讀量和時間也是重複的操作
可以用相對路徑也可以用絕對路徑,一般都是用相對路徑,格式仿照程式碼。
第五行程式碼,每得到一篇文章的資訊就輸出,遍歷完就可以獲得全部的資訊。
完整程式碼:
from requests_html import HTMLSession
session = HTMLSession()
html = session.get("https://me.csdn.net/weixin_44286745").html
allBlog=html.xpath("//dl[@class='tab_page_list']")
for i in allBlog:
title = i.xpath("dl/dt/h3/a")[0].text
views = i.xpath("//div[@class='tab_page_b_l fl']")[0].text
date = i.xpath("//div[@class='tab_page_b_r fr']")[0].text
print(title +' ' +views +' ' + date )
可以自己爬其他東西,如文章圖片,動手試試吧!!!
未完待續