查看原文
其他

软件应用 | 用Python爬取网络站点数据时需要哪些必备库?

h简华 数据Seminar 2021-06-03




网络爬虫,是按照一定的规则,自动地抓取万维网信息的程序或者脚本。

本期,我们收集了一些有关Python的网络爬虫库,包括请求、处理HTML/XML/CSS和爬取网络站点的库三个部分。详情如下:


请求库实现HTTP请求操作

1)urllib:一系列用于操作URL的功能。
https://docs.python.org/3/library/urllib.html

2)requests:基于urllib编写的,阻塞式HTTP请求库,发出一个请求,一直等待服务器响应后,程序才能进行下一步处理。
https://2.python-requests.org/en/master/

3)selenium:自动化测试工具。一个调用浏览器的driver,通过这个库你可以直接调用浏览器完成某些操作,比如输入验证码。
https://selenium-python-zh.readthedocs.io/en/latest/

4)aiohttp:基于asyncio实现的HTTP框架。异步操作借助于async/await关键字,使用异步库进行数据抓取,可以大大提高效率。
https://www.cntofu.com/book/127/readme.html



解析库
从HTTP/HTML/XML提取信息

处理HTML库

1)bleach:一个基于白名单的HTML清理和文本链接库。
https://bleach.readthedocs.org/en/latest/

2)html5lib:一个兼容标准的HTML文档和片段解析及序列化库。
https://github.com/html5lib/html5lib-python

3)pyquery:一个解析HTML的库,类似jQuery。
https://github.com/gawel/pyquery

4)xhtml2pdf:HTML/CSS转PDF工具。
https://github.com/xhtml2pdf/xhtml2pdf

处理XML的库

1)untangle:将XML文档转换为Python对象,使其可以方便的访问。
https://github.com/stchris/untangle

2)xmltodict:像处理 JSON一样处理XML。
https://github.com/martinblech/xmltodict

处理HTML/XML/CSS的库

1)BeautifulSoup:以Python风格的方式来对HTML或XML进行迭代,搜索和修改。
https://www.crummy.com/software/BeautifulSoup/bs4/doc/

2)cssutils:一个Python的CSS库。
https://pypi.python.org/pypi/cssutils/

3)lxml:一个非常快速,简单易用,功能齐全的库,用来处理HTML和XML。
https://lxml.de/

4)MarkupSafe:为Python实现XML/HTML/XHTML标记安全字符串。
https://github.com/pallets/markupsafe


爬虫库
爬取网络站点


爬虫框架

1)cola:一个分布式爬虫框架。
https://github.com/chineking/cola

2)Demiurge:基于PyQuery的爬虫微型框架。
https://github.com/matiasb/demiurge

3)Grab:站点爬取框架。
https://grablib.org/

4)Scrapy:一个快速高级的屏幕爬取及网页采集框架。
https://scrapy.org/

爬取站点和其他

1)feedparser:通用feed解析器。
https://pythonhosted.org/feedparser/

2)MechanicalSoup:用于自动和网络站点交互的Python库。
https://github.com/hickford/MechanicalSoup

3)portia:Scrapy可视化爬取。
https://github.com/scrapinghub/portia

4)pyspider:一个强大的爬虫系统。
https://github.com/binux/pyspider

5)RoboBrowser:一个简单的,Python风格的库,用来浏览网站,而不需要一个独立安装的浏览器。
https://github.com/jmcarp/robobrowser








►一周热文

统计计量丨倍差法DID详解 (一):传统 DID

数据呈现丨Python 手绘风格可视化神包:cutecharts

老姚专栏丨极大似然估计并不难理解

软件应用丨STATA经典资源快递已送达,千万别错过!

数据呈现 | R制图:日历热图,杭州空气质量知多少?

统计计量丨部分线性函数型系数面板数据模型的估计与Stata应用

数据呈现丨R与Office珠联璧合:如何实现R制图便捷导入PPT?








数据Seminar




这里是大数据、分析技术与学术研究的三叉路口





作者:h简华(何年华)审核:刘良东编辑:Rye





    欢迎扫描👇二维码添加关注    


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存