加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

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

发布时间:2019-10-11 06:58:05 所属栏目:建站 来源: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: /denyn' 

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。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读