这几个库不会,都不敢说我会 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源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索