恢復內容開始 每次講爬蟲的時候都會從“發送請求” 開始講,講到解析頁面的時候可能大部分讀者都會卡住,因為這部分確實需要一點XPATH或者CSS選擇器的前置知識。那麼有沒有不需要這麼複雜的操作就能把頁面信息讀取出來的方法呢? 答案是:有。 Lassie是一個超簡單的頁面信息檢索工具,它能夠通過幾行代碼 ...
------------恢復內容開始------------
每次講爬蟲的時候都會從“發送請求” 開始講,講到解析頁面的時候可能大部分讀者都會卡住,因為這部分確實需要一點XPATH或者CSS選擇器的前置知識。那麼有沒有不需要這麼複雜的操作就能把頁面信息讀取出來的方法呢?
答案是:有。
Lassie是一個超簡單的頁面信息檢索工具,它能夠通過幾行代碼就獲取到頁面上的靜態信息,比如:頁面描述、視頻鏈接、頁面標題,頁面關鍵詞、圖像鏈接等等。
為什麼超簡單?感受一下:
import lassie
data = lassie.fetch('https://www.zhihu.com')
print(data)
你只要fetch一下頁面,就能得到以下的運行結果(輸出為字典):
(base) F:\push191112>python test.py
{'images': [{'src': 'https://static.zhihu.com/static/favicon.ico', 'type': 'favicon'}], 'videos': [], 'description': '有問題,上知乎。知乎,可信賴的問答社區,以讓每個人高效獲得可信賴的解答為使命。知乎
憑藉認真、專業和友善的社區氛圍,結構化、易獲得的優質內容,基於問答的內容生產方式和獨特的社區機制,吸
引、聚集了各行各業中大量的親歷者、內行人、領域專家、領域愛好者,將高質量的內容透過人的節點來成規模地
生產和分享。用戶通過問答等交流方式建立信任和連接,打造和提升個人影響力,併發現、獲得新機會。', 'locale': 'zh_CN', 'url': 'https://www.zhihu.com', 'title': '知乎 - 有問題,上知乎', 'status_code': 200}
1.安裝
如果你還沒有安裝Python,或者需要Python學習資料的小伙伴可以點擊下方鏈接自行獲取
http://note.youdao.com/noteshare?id=7e3c432b74512d52b75aafc4609451b9
安裝完成後,請打開你的CMD/Terminal(終端)輸入以下命令:
pip install lassie
即可成功安裝lassie.
2.使用
現在,用這個工具爬取我們上篇文章的圖片鏈接吧!
import lassie
data = lassie.fetch('https://pythondict.com/ai/python-suicide-detect-svm/')
print(data['images'])
結果:
[{'src': 'https://pythondict.com/wp-content/uploads/2019/11/2019111013222864.png', 'secure_src': 'https://pythondict.com/wp-content/uploads/2019/11/2019111013222864.png', 'type': 'og:image'},
{'src':
'https://pythondict.com/wp-content/uploads/2019/11/2019111013222864.png', 'type': 'twitter:image'},
{'src': 'https://pythondict.com/wp-content/uploads/2019/07/2019073115192114.jpg', 'type': 'favicon'}]
當然,我們還可以用列表解析式,把所有鏈接放到一個數組裡:
print([i['src'] for i in data['images']])
結果:
['https://pythondict.com/wp-content/uploads/2019/11/2019111013222864.png',
'https://pythondict.com/wp-content/uploads/2019/11/2019111013222864.png',
'https://pythondict.com/wp-content/uploads/2019/07/2019073115192114.jpg']
怎麼樣,是不是這個工具拿來爬靜態頁面實在太方便了!唯一的缺點就是它無法爬取頁面中詳細的文本內容,僅僅只能用來提取圖片、視頻和頁面相關的信息,如果你的爬蟲是只需要爬取靜態頁面上的圖片和視頻,那這個庫簡直是神器啊。
------------恢復內容結束------------