:點擊上方[Python爬蟲數據分析挖掘]→右上角[...]→[設爲星標⭐]javascript
每日勵志圖
Python網絡爬蟲快速上手
環境準備:
事先安裝好,pycharm
打開File——>Settings——>Projext——>Project Interpriter
點擊加號(圖中紅圈的地方)
點擊紅圈中的按鈕
選中第一條,點擊鉛筆,將原來的連接替換爲(這裏已經替換過了):
https://pypi.tuna.tsinghua.edu.cn/simple/
點擊OK後,輸入requests-html而後回車
選中requests-html後點擊Install Packagehtml
等待安裝成功,關閉java
經過解析網頁源代碼
實例內容:
從某博主的全部文章爬取想要的內容。
實例背景:
從(https://me.csdn.net/weixin_44286745)博主的全部文章獲取各文章的標題,時間,閱讀量。python
1.導入requests_html中HTMLSession方法,並建立其對象微信
from requests_html import HTMLSessionsession = HTMLSession()
2.使用get請求獲取要爬的網站,獲得該網頁的源代碼。網絡
html = session.get("https://me.csdn.net/weixin_44286745").html
找到全部文章session
allBlog=html.xpath("//dl[@class='tab_page_list']")
進入網站主頁(本例:https://me.csdn.net/weixin_44286745)app
文章空白處右鍵檢查能夠定位到這文章的標籤
學習
其餘文章同樣操做,而後找到全部文章共同的標記(這裏全部文章的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 HTMLSessionsession = 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的點點滴滴;
回覆【開源源碼】免費獲取更多開源項目源碼;
本文分享自微信公衆號 - Python爬蟲數據分析挖掘(zyzx3344)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。