python爬蟲---->常見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:一個分布式爬蟲框架。項目整體設計有點糟,模塊間耦合度較高。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM