使用 Perl 访问 50 万页

发布于 2024-09-18 11:45:19 字数 205 浏览 3 评论 0原文

目前,我正在使用 Mechanize 和 get() 方法来获取每个站点,并使用 content() 方法检查每个主页的某些内容。 我有一台非常快的计算机+ 10Mbit 连接,但仍然花了 9 个小时来检查 11K 站点,这是不可接受的,问题是 get() 函数的速度,显然,它需要获取页面,有什么办法可以让它更快,也许可以禁用某些东西,因为我只需要检查主页 html 。

谢谢,

Currently I'm using Mechanize and the get() method to get each site, and check with content() method each mainpage for something.
I have a very fast computer + 10Mbit connection, and still, it took 9 hours to check 11K sites, which is not acceptable, the problem is, the speed of the get() function, which , obviously, needs to get the page,is there any way to make it faster,maybe to disable something,as I only need to main page html to be checked.

Thanks,

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

靑春怀旧 2024-09-25 11:45:19

并行查询而不是串行查询。如果我需要这样做,我会分叉一个进程来获取页面。类似于 Parallel::ForkManagerLWP::Parallel::UserAgentWWW:Curl 可能会有所帮助。我倾向于 Mojo::UserAgent

Make queries in parallel instead of serially. If I needed to do this, I'd fork off a process to grab the page. Something like Parallel::ForkManager, LWP::Parallel::UserAgent or WWW:Curl may help. I tend to favor Mojo::UserAgent.

可是我不能没有你 2024-09-25 11:45:19

使用 WWW::Curl (特别是 WWW::Curl::多)。我每天用它抓取 1 亿多个页面。该模块是 libcurl 之上的一个薄绑定,因此感觉有点 C 风格,但它速度很快,并且几乎可以完成 libcurl 能够完成的任何操作。

我不建议使用 LWP::Parallel::UA,因为它有点慢,而且模块本身没有经过深思熟虑。当我开始编写爬虫时,我最初考虑分叉 LWP::Parallel::UA,但当我研究它的内部结构时,我决定不这样做。

免责声明:我是 WWW::Curl 模块的当前维护者。

Use WWW::Curl (and specifically WWW::Curl::Multi). I'm using it to crawl 100M+ pages per day. The module is a thin binding on top of libcurl, so it feels a bit C-ish, but it's fast and does almost anything libcurl is capable of doing.

I would not recommend using LWP::Parallel::UA, as it's kind of slow and the module itself is not very well thought out. When I started out writing a crawler, I originally thought about forking LWP::Parallel::UA, but I decided against that when I looked into it's internals.

Disclaimer: I'm the current maintainer of the WWW::Curl module.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文