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

來源:JAVAandPython君html

☞ 分享:最全最新的Python學習大禮包 ☜python

不少朋友不知道Python爬蟲怎麼入門,怎麼學習,到底要學習哪些內容。今天我來給你們說說學習爬蟲,咱們必須掌握的一些第三方庫。mysql

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

請求庫

1. requests

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

requests庫應該是如今作爬蟲最火最實用的庫了,很是的人性化。有關於它的使用我以前也寫過一篇文章 一塊兒看看Python之Requests庫 ,你們能夠去看一下。web

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

小案例sql

>>> 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'368627u'private_gists'484, ...}
複製代碼

2.urllib3

GitHub:https://github.com/urllib3/urllib3mongodb

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())
複製代碼

解析庫

一、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 文檔,易用性和解析速度都很好。

數據存儲

一、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;

相關文章
相關標籤/搜索