设为首页 - 加入收藏 庆阳百度bet365_bet365注册ribo88点cc_bet365注册网站 (http://www.0934zz.com)- 国内知名站长资讯网站,提供最新最全的站长资讯,创业经验,网站建设等!
热搜: vivo wifi 10 专业
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

不会这几个库,都不敢说我会Python爬虫

发布时间:2019-10-17 06:42 所属栏目:[优化] 来源:JAP君
导读:很多朋友不知道Python爬虫怎么入门,怎么学习,到底要学习哪些内容。今天我来给大家说说学习爬虫,我们必须掌握的一些第三方库。 废话不多说,直接上干货。 1.请求库 1. requests GitHub:https://github.com/psf/requests requests库应该是现在做爬虫最火

很多朋友不知道Python爬虫怎么入门,怎么学习,到底要学习哪些内容。今天我来给大家说说学习爬虫,我们必须掌握的一些第三方库。

废话不多说,直接上干货。

不会这几个库,都不敢说我会Python爬虫

1.请求库

1. requests

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

requests库应该是现在做爬虫最火最实用的库了,非常的人性化。有关于它的使用我之前也写过一篇文章 一起看看Python之Requests库 ,大家可以去看一下。

有关于requests最详细的使用方法,大家可以参考官方文档:https://requests.readthedocs.io/en/master/

使用小案例:

  1. >>>?import?requests?
  2. >>>?r?=?requests.get('https://api.github.com/user',?auth=('user',?'pass'))?
  3. >>>?r.status_code?
  4. 200?
  5. >>>?r.headers['content-type']?
  6. 'application/json;?charset=utf8'?
  7. >>>?r.encoding?
  8. 'utf-8'?
  9. >>>?r.text?
  10. u'{"type":"User"...'?
  11. >>>?r.json()?
  12. {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/

使用小案例:

  1. >>>?import?urllib3?
  2. >>>?http?=?urllib3.PoolManager()?
  3. >>>?r?=?http.request('GET',?'http://httpbin.org/robots.txt')?
  4. >>>?r.status?
  5. 200?
  6. >>>?r.data?
  7. '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/ 查看官方文档

使用小案例:

  1. from?selenium?import?webdriver?
  2. browser?=?webdriver.Firefox()?
  3. 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/

使用小案例:

  1. import?aiohttp?
  2. import?asyncio?
  3. async?def?fetch(session,?url):?
  4. ?async?with?session.get(url)?as?response:?
  5. ?return?await?response.text()?
  6. async?def?main():?
  7. ?async?with?aiohttp.ClientSession()?as?session:?
  8. ?html?=?await?fetch(session,?'http://python.org')?
  9. ?print(html)?
  10. if?__name__?==?'__main__':?
  11. ?loop?=?asyncio.get_event_loop()?
  12. ?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。

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章