cod*_*boy 7 php websocket web-scraping socket.io
我被要求刮一个通过websockets接收数据的网站,然后通过javascript/jquery将其呈现给页面.是否有可能绕过中间人(DOM)并消耗/刮取来自套接字的数据?这可能是像phantomJS这样的无头webkit吗?目标站点正在使用socket.io.
我需要根据数据中的关键字使用数据并触发警报.我正在考虑Goutte库,并将用PHP构建刮刀.
Socket.io与websockets不完全相同.既然你知道他们使用socket.io我就是专注于那个.刮掉此套接字的最简单方法是使用socket.io客户端.
把它放在你的页面上:
<script src="https://github.com/LearnBoost/socket.io-client/blob/0.9/dist/socket.io.js"></script>
<script src="scraper.js"></script>
Run Code Online (Sandbox Code Playgroud)
创建文件scraper.js:
var keywords = /foo|bar/ig;
var socket = io.connect('http://host-to-scrape:portnumber/path');
socket.on('<socket.io-eventname>', function (data) {
// The scraped data is in 'data', do whatever you want with it
console.log(data);
// Assuming data.body contains a string containing keywords:
if(keywords.test(data.body)) callOtherFunction(data.body);
// Talk back:
// socket.emit('eventname', { my: 'data' });
});
Run Code Online (Sandbox Code Playgroud)
更新6-1-2014
看起来你试图在浏览器窗口中运行它,而不是在服务器上运行它,查看下面引用的StackOverflow问题.所以我删除了有关NodeJS的所有内容,因为不需要.
| 归档时间: |
|
| 查看次数: |
3556 次 |
| 最近记录: |