不会这几个库,都不敢说我会Python爬虫
很多朋友不知道Python爬蟲怎么入門,怎么學習,到底要學習哪些內容。今天我來給大家說說學習爬蟲,我們必須掌握的一些第三方庫。
廢話不多說,直接上干貨。
1
?請求庫
1. requests
GitHub:https://github.com/psf/requests
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())2
?解析庫?
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 文檔,易用性和解析速度都很好。
3
?數據存儲庫?
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
End推薦閱讀:(點擊標題即可跳轉)
來和小伙伴們一起向上生長呀!
掃描下方二維碼,添加小詹微信,可領取千元大禮包并申請加入 Python 學習交流群,群內僅供學術交流,日常互動,如果是想發推文、廣告、砍價小程序的敬請繞道!一定記得備注「交流學習」,我會盡快通過好友申請哦!?長按識別,添加微信(添加人數較多,請耐心等待)
總結
以上是生活随笔為你收集整理的不会这几个库,都不敢说我会Python爬虫的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京那些年轻人的秘密,都藏在这篇文章里
- 下一篇: 做人当如平头哥