常見Python爬蟲框架

一般比較小型的爬蟲需求,
        可以使用requests庫 + bs4就解決了,再麻煩點就使用selenium解決js的異步 加載問題。相對比較大型的需求才使用框架,主要是便於管理以及擴展等。

一、爬蟲技術庫-urllib.request和requests庫的使用(簡單)

     1. requests庫           

import requests
headers = { 'User-Agent': 'Mozilla/5.0 Chrome/64.0.3282.186 Safari/537.36', }
url = 'http://www.baidu.com'
response = requests.get(url,headers=headers)
response.encoding = 'utf-8'
print(response)

      2. urllib.request庫
 

from urllib import request
headers = { 'User-Agent': 'Mozilla/5.0 Chrome/64.0.3282.186 Safari/537.36', }
url = 'http://www.baidu.com'
req = request.Request(url, headers=headers)
response = request.urlopen(req)
data = response.read().decode('UTF-8')
print(data)

二、常見python爬蟲框架

1)Scrapy:很強大的爬蟲框架,可以滿足簡單的頁面爬取(比如可以明確獲知url pattern的情況)。用這個框架可以輕鬆爬下來如亞馬遜商品信息之類的數據。但是對於稍微複雜一點的頁面,如weibo的頁面信息,這個框架就滿足不了需求了。
https://www.cnblogs.com/Lijcyy/p/9779196.html
        2)Crawley: 高速爬取對應網站的內容,支持關係和非關係數據庫,數據可以導出爲JSON、XML等
        3)Portia:可視化爬取網頁內容
        4)newspaper:提取新聞、文章以及內容分析
        5)python-goose:java寫的文章提取工具
        6)Beautiful Soup:名氣大,整合了一些常用爬蟲需求。缺點:不能加載JS。
        7)mechanize:優點:可以加載JS。缺點:文檔嚴重缺失。不過通過官方的example以及人肉嘗試的方法,還是勉強能用的。
        8)selenium:這是一個調用瀏覽器的driver,通過這個庫你可以直接調用瀏覽器完成某些操作,比如輸入驗證碼。
        9)cola:一個分佈式爬蟲框架。項目整體設計有點糟,模塊間耦合度較高。 

 

每一成功的背後都有個人的努力和家人的支持 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章