请求库
- urllib:一系列用于操作URL的功能,Python的内置库,直接使用方法import导入即可
- requests:基于 urllib 编写的请求库,阻塞式 HTTP 请求库,发出一个请求,一直等待服务器响应后,程序才能进行下一步处理。
- selenium:自动化测试工具。一个调用浏览器的 driver,通过这个库你可以直接调用浏览器完成某些操作,比如输入验证码。实际上是用来浏览器的一个库,做爬虫时可能会碰到使用JS渲染的网页,使用requests来请求时,可能无法正常获取内容,我们使用selenium可以驱动浏览器获得渲染后的页面。有头浏览器的代表。
- aiohttp:基于 asyncio 实现的 HTTP 框架,提供异步的web服务的库。异步操作借助于 async/await 关键字,使用异步库进行数据抓取,可以大大提高效率。
- phantomjs :是一个无界面浏览器,在后台运行。通过JS在后台运行有关浏览器的一切操作省去可视化浏览器的操作。无头浏览器的代表。
解析库
- re:使用正则表达式(regex)库提取信息,Python的内置库。
- lxml:支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高。
- beautifulsoup:是一个网络解析库,依赖于lxml库。html 和 XML 的解析,从网页中提取信息,同时拥有强大的API和多样解析方式。
- pyquery:也是网页解析库,较bs4更加方便,语法和Jque