不会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;

相关文章
相关标签/搜索