這幾個庫不會,都不敢說我會 Python 爬蟲


不少朋友不知道 Python 爬蟲怎麼入門,怎麼學習,到底要學習哪些內容。html


今天我來給你們說說學習爬蟲,咱們必須掌握的一些第三方庫。
python


廢話很少說,直接上乾貨。mysql




1git

 請求庫github



1. requests
web


GitHub:https://github.com/psf/requestsredis


requests庫應該是如今作爬蟲最火最實用的庫了,很是的人性化。
sql


有關於requests最詳細的使用方法,你們能夠參考官方文檔:https://requests.readthedocs.io/en/master/mongodb


使用小案例:數據庫

>>> import requests>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))>>> r.status_code200>>> r.headers['content-type']'application/json; charset=utf8'>>> r.encoding'utf-8'>>> r.textu'{"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.status200>>> 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 aiohttpimport 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())



2

 解析庫 




一、beautifulsoup


官方文檔:https://www.crummy.com/software/BeautifulSoup/


html 和 XML 的解析,從網頁中提取信息,同時擁有強大的API和多樣解析方式。一個我常常使用的解析庫,對於html的解析是很是的好用。對於寫爬蟲的人來講這也是必須掌握的庫。



二、lxml


GitHub:https://github.com/lxml/lxml


支持HTML和XML的解析,支持XPath解析方式,並且解析效率很是高。



三、pyquery


GitHub:https://github.com/gawel/pyquery


jQuery 的 Python 實現,可以以 jQuery 的語法來操做解析 HTML 文檔,易用性和解析速度都很好。





3

 數據存儲庫 



一、pymysql


GitHub:https://github.com/PyMySQL/PyMySQL


官方文檔:https://pymysql.readthedocs.io/en/latest/


一個純 Python 實現的 MySQL 客戶端操做庫。很是的實用、很是的簡單。



二、pymongo


GitHub:https://github.com/mongodb/mongo-python-driver


官方文檔:https://api.mongodb.com/python/


顧名思義,一個用於直接鏈接 mongodb 數據庫進行查詢操做的庫。



三、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 分析後告訴你

聊聊 Airtest 自動化工具

薅羊毛 | Python 自動化帶你輕鬆賺錢(完結版)





THANDKS
- End -

本文分享自微信公衆號 - AirPython(AirPython)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索