c httpclient抓取网页(GitHub:基于asyncio实现HTTP框架。异步操作借助于/await关键字)

优采云 发布时间: 2022-02-02 23:04

  c httpclient抓取网页(GitHub:基于asyncio实现HTTP框架。异步操作借助于/await关键字)

  GitHub:

  基于 asyncio 实现的 HTTP 框架。异步操作依赖 async/await 关键字,使用异步库进行数据抓取,可以大大提高效率。

  这是高级爬虫时必须掌握的异步库。关于aiohttp的详细操作可以去官方文档:

  使用小盒子:

  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、美丽的汤

  官方文档:

  HTML和XML解析,从网页中提取信息,具有强大的API和多种解析方法。我经常使用的一个解析库,对html解析很有用。这也是编写爬虫的必备库。

  2、lxml

  GitHub:

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

  3、pyquery

  GitHub:

  jQuery的Python实现可以用jQuery语法对HTML文档进行操作和解析,具有很好的易用性和解析速度。

  3 数据存储库

  1、pymysql

  GitHub:

  官方文档:

  MySQL 客户端操作库的纯 Python 实现。很实用也很简单。

  2、pymongo

  GitHub:

  官方文档:

  顾名思义,一个直接连接mongodb数据库进行查询操作的库。

  3、redisdump

  使用方法:

  redis-dump是一个redis和json转换的工具; redis-dump是基于ruby开发的,需要一个ruby环境,而新版redis-dump需要2.2.2个以上的ruby版本,centos中yum只能安装< @2.0 版本的*敏*感*词*。需要先安装ruby的管理工具rvm才能安装更高版本的ruby;

  最后,我是一个从事多年开发的老Python程序员。我已经辞职,目前正在做我自己的私人 Python 课程。今年年初,我花了一个月的时间整理了一篇最适合2019年学习的Python学习,干货可以送给每一位喜欢Python的朋友。想要领取的可以关注我的头条号,后台私信我:01,免费领取。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线