使用 python 抓取网站
Scrape websites with python
我刚开始python。我正在尝试通过网络抓取网站以从中获取价格和标题。我浏览了多个教程和博客,最常用的库是 beautiful soup 和 scrapy
。 My question is that is there any way to scrape a website without using any library?
如果有一种方法可以在不使用 beautifulsoup
和 scrapy
等任何第 3 方库的情况下抓取网站。 It can use builtin libraries
请给我推荐博客、文章或教程,以便我学习
您可以使用 urllib
.
而不是 scrapy
您可以使用 regex
.
而不是 beautifulsoup
但是 scrapy
和 beautifulsoup
让您的生活更轻松。
Scrapy
,不是简单的库,所以你可以使用 requests
或 urllib
。
我认为 python 网络抓取中最好的、流行的、易于学习和使用的库是 requests、lxml 和 BeautifulSoup 具有最新版本的 bs4 总结 'Requests' 让我们向网站服务器发出 HTML 请求以检索其页面上的数据。获取网页的 HTML 内容是网页抓取的第一步也是最重要的一步。
来看看RequestsPython库的优缺点
优点:
- 简单
- Basic/Digest 身份验证
- 国际域名和 URL
- 分块请求
- HTTP(S) 代理支持
缺点:
- 仅检索页面的静态内容
- 不能用于解析HTML
- 无法处理纯粹由 JavaScript
制作的网站
我们知道请求库无法解析从网页检索到的 HTML。因此,我们需要 lxml,一个高性能、超快、生产质量 HTML 和 XML 解析 Python 库。
我们来看看lxmlPython库的优缺点
优点:
- 比大多数解析器都快
- 重量轻
- 使用元素树
- Pythonic API
缺点:
- 不适用于设计不佳的 HTML
- 官方文档对初学者不是很友好
BeautifulSoup 可能是使用最广泛的 Python 网络抓取库。它创建一个用于解析 HTML 和 XML 文档的解析树。 Beautiful Soup 自动将传入文档转换为 Unicode,将传出文档自动转换为 UTF-8。
Beautiful Soup 库的一个主要优点是它在设计不佳的情况下也能很好地工作 HTML 并且具有很多功能。 Beautiful Soup 和 Requests 的组合在业界相当普遍。
优点:
- 需要几行代码
- 很棒的文档
- 初学者容易上手
- 稳健
- 自动编码检测
缺点:
- 比 lxml 慢
如果您想学习如何使用 Beautiful Soup 抓取网页,本教程适合您:
顺便说一句,你可以尝试很多库,比如 Scrapy、用于 Web 抓取的 Selenium 库、正则表达式和 urllib
我刚开始python。我正在尝试通过网络抓取网站以从中获取价格和标题。我浏览了多个教程和博客,最常用的库是 beautiful soup 和 scrapy
。 My question is that is there any way to scrape a website without using any library?
如果有一种方法可以在不使用 beautifulsoup
和 scrapy
等任何第 3 方库的情况下抓取网站。 It can use builtin libraries
请给我推荐博客、文章或教程,以便我学习
您可以使用 urllib
.
scrapy
您可以使用 regex
.
beautifulsoup
但是 scrapy
和 beautifulsoup
让您的生活更轻松。
Scrapy
,不是简单的库,所以你可以使用 requests
或 urllib
。
我认为 python 网络抓取中最好的、流行的、易于学习和使用的库是 requests、lxml 和 BeautifulSoup 具有最新版本的 bs4 总结 'Requests' 让我们向网站服务器发出 HTML 请求以检索其页面上的数据。获取网页的 HTML 内容是网页抓取的第一步也是最重要的一步。
来看看RequestsPython库的优缺点
优点:
- 简单
- Basic/Digest 身份验证
- 国际域名和 URL
- 分块请求
- HTTP(S) 代理支持
缺点:
- 仅检索页面的静态内容
- 不能用于解析HTML
- 无法处理纯粹由 JavaScript 制作的网站
我们知道请求库无法解析从网页检索到的 HTML。因此,我们需要 lxml,一个高性能、超快、生产质量 HTML 和 XML 解析 Python 库。
我们来看看lxmlPython库的优缺点
优点:
- 比大多数解析器都快
- 重量轻
- 使用元素树
- Pythonic API
缺点:
- 不适用于设计不佳的 HTML
- 官方文档对初学者不是很友好
BeautifulSoup 可能是使用最广泛的 Python 网络抓取库。它创建一个用于解析 HTML 和 XML 文档的解析树。 Beautiful Soup 自动将传入文档转换为 Unicode,将传出文档自动转换为 UTF-8。
Beautiful Soup 库的一个主要优点是它在设计不佳的情况下也能很好地工作 HTML 并且具有很多功能。 Beautiful Soup 和 Requests 的组合在业界相当普遍。
优点:
- 需要几行代码
- 很棒的文档
- 初学者容易上手
- 稳健
- 自动编码检测
缺点:
- 比 lxml 慢
如果您想学习如何使用 Beautiful Soup 抓取网页,本教程适合您:
顺便说一句,你可以尝试很多库,比如 Scrapy、用于 Web 抓取的 Selenium 库、正则表达式和 urllib