gpt4 book ai didi

php - 爬行抓取和线程?用PHP

转载 作者:行者123 更新时间:2023-12-03 13:15:49 27 4
gpt4 key购买 nike

我有一个个人网站,可以从我最喜欢的音乐博客中抓取并收集MP3,以便以后收听...

它的工作方式是CRON作业每分钟运行一次.php脚本,以爬网DB中的下一个博客。将结果放入数据库,然后第二个.php脚本对收集的链接进行爬网。

这些脚本仅向下爬到该页面的两个级别,即..主页www.url.com以及该页面上的链接www.url.com/post1 www.url.com/post2

我的问题是,随着我开始获得更多的博客集。仅在20到30分钟内扫描一次,并且当我向脚本添加新博客时,由于每分钟仅处理一次链接,因此在扫描链接时会有备份。

由于PHP的工作方式,由于脚本执行时间的原因,我似乎不能只允许脚本处理多个链接或数量有限的链接。内存限制。超时等

另外,我无法运行同一脚本的多个实例,因为它们将在数据库中相互覆盖。

我可以加快此过程的最佳方法是什么。

有没有一种方法可以让我有多个脚本影响数据库,但可以编写它们,以使它们不会彼此覆盖,而是将结果排入队列?

有没有什么方法可以在PHP中创建线程,以便脚本可以按自己的进度处理链接?

有任何想法吗?

谢谢。

最佳答案

多使用CURL!

Curl-mutli将让您并行处理页面。

http://us3.php.net/curl

大多数时候,您在网站上等待,进行数据库插入和html解析要快几个数量级。

您创建了要抓取的博客列表,将其发送出去可以 curl 多个。等待,然后依次处理所有调用的结果。然后,您可以在下一个级别进行第二次传递

http://www.developertutorials.com/blog/php/parallel-web-scraping-in-php-curl-multi-functions-375/

关于php - 爬行抓取和线程?用PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/965915/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com