当前位置: 首页 > 科技观察

我不知道这些库,也不敢说我知道Python爬虫

时间:2023-03-19 17:57:11 科技观察

很多朋友不知道Python爬虫如何入门,怎么学,学什么。今天给大家说说学习爬虫,一些我们必须要掌握的第三方库。话不多说,下面直接上干货。一、请求库1、requestsGitHub:https://github.com/psf/requestsrequests库应该是爬虫最流行最实用的库了,非常人性化。我之前也写过一篇文章介绍它的使用。让我们来看看Python的Requests库。你可以看看。requests最详细的用法可以参考官方文档:https://requests.readthedocs.io/en/master/使用一个小案例:>>>importrequests>>>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。urllib3GitHub:https://github.com/urllib3/urllib3urllib3是一个非常强大的http请求库,提供了一系列的URL操作函数。详细使用方法请参考:https://urllib3.readthedocs.io/en/latest/小用例:>>>importurllib3>>>http=urllib3.PoolManager()>>>r=http.request('GET','http://httpbin.org/robots.txt')>>>r.status200>>>r.data'User-agent:*\nDisallow:/deny\n'3.seleniumGitHub:https://github.com/SeleniumHQ/selenium自动化测试工具。调用浏览器的驱动程序。通过这个库,可以直接调用浏览器完成某些操作,比如输入验证码。对于这个库,它不仅在Python中有,像JAVA、Python、C#等都可以使用selenium这个库。你可以访问https://seleniumhq.github.io/selenium/docs/了解如何在Python语言中使用这个库。api/py/查看官方文档使用小case:fromseleniumimportwebdriverbrowser=webdriver.Firefox()browser.get('http://seleniumhq.org/')4.aiohttpGitHub:https://github.com/aio-libs/aiohttp基于asyncio实现的HTTP框架。异步操作使用async/await关键字,使用异步库抓取数据,可以大大提高效率。这是一个当高级爬虫必须要掌握的异步库。关于aiohttp的详细操作可以看官方文档:https://aiohttp.readthedocs.io/en/stable/使用一个小case:importaiohttpimportasyncioasyncdeffetch(session,url):asyncwithsession.get(url)asresponse:returnawaitresponse。text()asyncdefmain():asyncwithaiohttp.ClientSession()assession:html=awaitfetch(session,'http://python.org')print(html)if__name__=='__main__':loop=asyncio.get_event_loop()循环。run_until_complete(main())2解析库1.Beautifulsoup官方文档:https://www.crummy.com/software/BeautifulSoup/html和XML解析,提取网页信息,拥有强大的API和多种解析方式。我经常使用的一个解析库,对解析html很有用。这也是写爬虫的人必备的库。2.lxmlGitHub:https://github.com/lxml/lxml支持HTML和XML解析,支持XPath解析,解析效率很高。3.pyqueryGitHub:https://github.com/gawel/pyqueryjQuery的Python实现,可以用jQuery语法操作和解析HTML文档,具有很好的易用性和解析速度。三、数据仓库1、pymysqlGitHub:https://github.com/PyMySQL/PyMySQL官方文档:https://pymysql.readthedocs.io/en/latest/纯Python实现的MySQL客户端操作库。非常实用也非常简单。2.pymongoGitHub:https://github.com/mongodb/mongo-python-driver官方文档:https://api.mongodb.com/python/顾名思义,一个直接连接mongodb数据库进行查询的库操作。3、redisdump的使用方法:https://blog.csdn.net/zhwitbird/article/details/81279406redis-dump是一个redis和json转换的工具;redis-dump是基于ruby开发的,需要ruby环境,而新版本的redis-dump需要ruby版本在2.2.2以上,而centos中的yum只能安装ruby2.0版本。需要安装ruby管理工具rvm才能安装更高版本的ruby。