首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据从PHP脚本传递到Python Web Crawler

将数据从PHP脚本传递到Python Web Crawler
EN

Stack Overflow用户
提问于 2011-03-31 20:06:20
回答 3查看 1.1K关注 0票数 1

我有一个python爬虫,每隔几分钟就抓取几个网页。我现在正在尝试实现一个可以通过web访问的用户界面,并显示爬虫获得的数据。我将使用php/html作为接口。无论如何,用户界面需要某种类型的按钮来触发爬虫程序立即抓取特定的网站(而不是等待下一次抓取迭代)。

现在,有没有一种方法可以将数据从php脚本发送到正在运行的python脚本?我在考虑标准输入/输出,但找不到一种方法可以做到这一点(从一个进程写入另一个进程stdin)。然后我在考虑使用一个共享文件,php在其中写入数据,python从中读取数据。但是,我需要一些方法来让python脚本知道,新数据已经写入文件,以及让php脚本知道爬虫何时完成了它的任务。另一种方法是套接字,但我认为,这可能有点过了,而且不是尽可能简单。

你有什么建议让一切都尽可能简单,但仍然允许我从php脚本向正在运行的python进程发送数据吗?

提前感谢您的任何想法!

编辑:我应该注意,爬虫将获得的数据保存到一个sql数据库中,php可以访问该数据库。因此,将数据从python爬虫传递到php脚本是没有问题的。这是另一种方式。

EN

回答 3

Stack Overflow用户

发布于 2011-03-31 20:44:56

消除使用不同语言的依赖性的最好方法是使用消息队列库(如rabbitMQ或ActiveMQ)

通过使用它,你可以直接将消息从php发送到python,反之亦然。

如果你想要一个简单的方法,你需要修改你的python脚本(更多关于fabrik所说的内容),以轮询数据库(或文件)中任何新的jobs...and进程,如果它找到的话……

票数 1
EN

Stack Overflow用户

发布于 2011-03-31 20:15:29

因为我不太了解python是如何工作的,所以就把它当作一个疯狂的想法吧。

  • 在服务器上创建python和PHP都可以访问的XML在PHP端您可以向此XML中插入新节点关于新的urls使用processed=false标志
  • Python来查看未处理的任务然后获取数据并将源代码放到您的数据库
  • 成功获取后,切换标志H210H111当PHP端再次接触此XML时,使用属性删除节点<代码>H213<代码>F214

希望它能在某种程度上帮助你。

票数 0
EN

Stack Overflow用户

发布于 2011-03-31 22:03:01

我有使用标准XML-RPC Python库提供简单RPC接口的丰富经验。您所需要做的就是在Python脚本中启动另一个线程,它将处理来自PHP代码的XML-RPC请求。PHP对http://phpxmlrpc.sourceforge.net/有非常成熟的XML-RPC支持。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5499558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档