注册
登录
查看:352 | 回复:5
PYson
爬虫除了这几个 selenium、urllib、BeautifulSoup 外还有其他包吗
发表于 2023/5/5 12:54:34
楼主

我是使用 selenium 去捕获动态数据的。但最近发现一个网站,我先使用 swich_to.frame 来切换框架后可以获取到第一页的数据。然后可以进行 click () 方法进行一页一页获取。网上查过资料大多都是 webdriver+selenium 的做法。


PYson
发表于 2023/5/5 12:56:27
沙发

问题是这样的:

1. 内容总共有 70 + 页,一页一页翻太慢了。

2. 页数多可以多线程解决,但是 selenium 始终会打开浏览器,这样太占用资源,有其他模块可以不打开浏览器进行遍历爬取吗

3.iframe 下有一个连接应该是用来保存这些数据的,但是我直接访问这个链接就返回信息 “非法链接,请从.... 网站登入”。

现时使用的都是视频教程的 urllib,selenium,BeautifulSoup,但是视频都教得太浅了,都是自己网上找资料的。

这里想问问大神们,有没有其他可以不用打开浏览器爬取动态数据的模块?或者有什么方法可以解决我上述几个问题呢?



pardon
发表于 2023/5/5 12:58:05
板凳

Scrapy 你做爬虫竟然不用?

它很强大但在抓取动态网页上很繁琐,

ferret 爬取动态页面比较方便,简单易上手

QQ截图20230505150103.jpg

coolest
发表于 2023/5/5 13:00:39
4楼

scrapy 和 requests 可以用一下


Jason
发表于 2023/5/5 13:01:57
5楼

五个常用的爬虫包


Requests:对于添加到数据科学工具箱中至关重要。这是一个简单但功能强大的 HTTP 包,这意味着您可以使用它来访问网页。我们将其称为 “农场”,因为您将使用它来获取菜肴的原料(即原始 HTML)(即可用数据)。


Beautiful Soup 4:

Beautiful Soup(BS4)是一个解析包,可以使用不同的解析器。解析器只是一个可以从 HTML 和 XML 文件提取数据的程序。Beautiful Soup 的默认解析器来自 Python 的标准库。它既灵活又宽容,但是有点慢。好消息是,如果需要速度,可以将其解析器换成更快的解析器。BS4 的一个优点是它能够自动检测编码。这使它可以优雅地处理带有特殊字符的 HTML文档。


lxml:Lxml 是高性能,生产质量的 HTML 和 XML 解析包。我们称其为 “色拉”,因为无论您选择哪种饮食,您都可以依靠它对自己有益。在所有 Python 网络抓取包中,我们最喜欢使用 lxml。它简单,快速且功能丰富。即使这样,如果您有使用 XPath 或 CSS 的经验,也很容易上手。它的原始速度和力量也帮助其在行业中被广泛采用。


Selenium:Selenium 是使浏览器自动化的工具,也称为 Web 驱动程序。有了它,您实际上可以打开 Google Chrome 窗口,访问网站,然后单击链接。很酷吧?它还带有 Python 绑定,可直接在您的应用程序中对其进行控制。与您选择的解析库集成变得轻而易举。


Scrapy:从技术上讲,Scrapy 甚至不是一个包…… 这是一个完整的 Web 抓取框架。这意味着您可以使用它来管理请求,保留用户会话,遵循复位向并处理输出管道。这也意味着您可以与其他 Python Web 抓取包交换单个模块。例如,如果您需要插入 Selenium 来抓取动态网页。因此,如果您需要重新使用搜寻器,对其进行缩放,管理复杂的数据管道或制作其他一些复杂的蜘蛛,那么 Scrapy 就是为您量身定制的。


PYson
发表于 2023/5/5 13:03:17
6楼

好的,谢谢几位大佬,我先看看Scrapy

立即注册站大爷用户,免费试用全部产品
立即注册站大爷用户,免费试用全部产品