:點擊上方[Python爬蟲數據分析挖掘]→右上角[...]→[設為星標⭐]
每日勵志圖
Python網絡爬蟲快速上手
環境准備:
事先安裝好,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)博主的所有文章獲取各文章的標題,時間,閱讀量。
1.導入requests_html中HTMLSession方法,並創建其對象
from requests_html import HTMLSession
session = HTMLSession()
2.使用get請求獲取要爬的網站,得到該網頁的源代碼。
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 )
可以自己爬其他東西,如文章圖片,動手試試吧!!!
- END -
歡迎關注公眾號:Python爬蟲數據分析挖掘,方便及時閱讀最新文章
記錄學習python的點點滴滴;
回復【開源源碼】免費獲取更多開源項目源碼;