很多朋友不知道Python爬蟲怎么入門,怎么學習,到底要學習哪些內容,今天我來給大家說說學習爬蟲,我們必須掌握的一些第三方庫,
廢話不多說,直接上干貨,
這里要注意:不管你是為了Python就業還是興趣愛好,記住:專案開發經驗永遠是核心,如果你沒有2020最新python入門到高級實戰視頻教程,可以去小編的Python交流.裙 :七衣衣九七七巴而五(數字的諧音)轉換下可以找到了,里面很多新python教程專案,還可以跟老司機交流討教!
請求庫
1. requests
GitHub:https://github.com/psf/requests
requests庫應該是現在做爬蟲最火最實用的庫了,非常的人性化,有關于它的使用我之前也寫過一篇文章 一起看看Python之Requests庫 ,大家可以去看一下,
有關于requests最詳細的使用方法,大家可以參考官方檔案:https://requests.readthedocs.io/en/master/
小案例
>>> import requests
>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf8'
>>> r.encoding
'utf-8'
>>> r.text
u'{"type":"User"...'
>>> r.json()
{u'disk_usage': 368627, u'private_gists': 484, ...}
復制代碼
2.urllib3
GitHub:https://github.com/urllib3/urllib3
urllib3是一個非常強大的http請求庫,提供一系列的操作URL的功能,
有關于它的詳細使用方法可以參考:https://urllib3.readthedocs.io/en/latest/
使用小案例:
>>> import urllib3
>>> http = urllib3.PoolManager()
>>> r = http.request('GET', 'http://httpbin.org/robots.txt')
>>> r.status
200
>>> r.data
'User-agent: *\nDisallow: /deny\n'
復制代碼
3.selenium
GitHub:https://github.com/SeleniumHQ/selenium
自動化測驗工具,一個呼叫瀏覽器的 driver,通過這個庫你可以直接呼叫瀏覽器完成某些操作,比如輸入驗證碼,
對于這個庫并非只是Python才能用,像JAVA、Python、C#等都能夠使用selenium這個庫
有關于Python語言如何去使用這個庫,大家可以去訪問https://seleniumhq.github.io/selenium/docs/api/py/ 查看官方檔案
使用小案例:
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://seleniumhq.org/')
復制代碼
4.aiohttp
GitHub:https://github.com/aio-libs/aiohttp
基于 asyncio 實作的 HTTP 框架,異步操作借助于 async/await 關鍵字,使用異步庫進行資料抓取,可以大大提高效率,
這個屬于進階爬蟲時候必須掌握的異步庫,有關于aiohttp的詳細操作,可以去官方檔案:https://aiohttp.readthedocs.io/en/stable/
使用小案例:
import aiohttp
import asyncio
async def fetch(session, url):
async with session.get(url) as response:
return await response.text()
async def main():
async with aiohttp.ClientSession() as session:
html = await fetch(session, 'http://python.org')
print(html)
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
復制代碼
決議庫
1、beautifulsoup
官方檔案:https://www.crummy.com/software/BeautifulSoup/
html 和 XML 的決議,從網頁中提取資訊,同時擁有強大的API和多樣決議方式,一個我經常使用的決議庫,對于html的決議是非常的好用,對于寫爬蟲的人來說這也是必須掌握的庫,
2、lxml
GitHub:https://github.com/lxml/lxml
支持HTML和XML的決議,支持XPath決議方式,而且決議效率非常高,
3、pyquery
GitHub:https://github.com/gawel/pyquery
jQuery 的 Python 實作,能夠以 jQuery 的語法來操作決議 HTML 檔案,易用性和決議速度都很好,
資料存盤
1、pymysql
GitHub:https://github.com/PyMySQL/PyMySQL
官方檔案:https://pymysql.readthedocs.io/en/latest/
一個純 Python 實作的 MySQL 客戶端操作庫,非常的實用、非常的簡單,
2、pymongo
GitHub:https://github.com/mongodb/mongo-python-driver
官方檔案:https://api.mongodb.com/python/
顧名思義,一個用于直接連接 mongodb 資料庫進行查詢操作的庫,
3、redisdump
使用方法:https://blog.csdn.net/zhwitbird/article/details/81279406
redis-dump是將redis和json互轉的工具;redis-dump是基于ruby開發,需要ruby環境,而且新版本的redis-dump要求2.2.2以上的ruby版本,centos中yum只能安裝2.0版本的ruby,需要先安裝ruby的管理工具rvm安裝高版本的ruby;
最后注意:不管你是為了Python就業還是興趣愛好,記住:專案開發經驗永遠是核心,如果你沒有2020最新python入門到高級實戰視頻教程,可以去小編的Python交流.裙 :七衣衣九七七巴而五(數字的諧音)轉換下可以找到了,里面很多新python教程專案,還可以跟老司機交流討教!
本文的文字及圖片來源于網路加上自己的想法,僅供學習、交流使用,不具有任何商業用途,著作權歸原作者所有,如有問題請及時聯系我們以作處理,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/156172.html
標籤:Python
