首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web抓取、数据挖掘、数据提取

Web抓取、数据挖掘、数据提取
EN

Stack Overflow用户
提问于 2013-10-26 07:27:29
回答 3查看 4.8K关注 0票数 1

我的任务是创建一个网络抓取软件,我甚至不知道从哪里开始。任何帮助都将不胜感激,即使只是告诉我这些数据是如何组织的,或者网站使用的是什么“类型”的数据布局也会有所帮助,因为我可以用谷歌搜索那个词。

http://utilsub.lbs.ubc.ca/ion/default.aspx?dgm=x-pml:/diagrams/ud/Default/7330_FAC-delta_V2.4.1/7330_FAC-delta_V2.4.1-pq.dgm&node=Buildings.Angus_addition&logServerName=QUERYSERVER.UTIL2SUB&logServerHandle=327952

http://utilsub.lbs.ubc.ca/ion/default.aspx?dgm=x-pml:/diagrams/ud/network.dgm&node=Buildings.AERL&unique_id=75660a13-5145-42d5-b661-a50f328306c7&logServerName=QUERYSERVER.UTIL2SUB&logServerHandle=327952

基本上,我需要从这个网站提取“谐波值”。具体地说,我需要在第二个链接上显示9个数字。这些数字不会传递给HTML,它们似乎每隔几秒钟就会自动更新一次。我需要能够实时提取这些值,因为它们更新。即使这是不可能的,我仍然需要证明做这样的网络抓取是不可能的。我没有得到任何API的任何后端,并不知道他们的网站如何接收数据。

总体而言,任何帮助都将不胜感激,即使这只是一些简单的搜索条件,让我在正确的方向。我目前在网络抓取/数据挖掘方面一无所知

EN

回答 3

Stack Overflow用户

发布于 2013-10-26 07:49:37

网络抓取

解析来自网站的HTML也称为屏幕抓取。这是一个访问外部网站信息(信息必须是公共数据)并根据需要对其进行处理的过程。例如,如果我们想要从不同的网站获得诺基亚Lumia 1020的平均评分,我们可以删除所有网站的评分,并在我们的代码中计算平均评分。因此,我们可以说,作为一个普通的“用户”,你可以拥有“公共数据”,你将能够很容易地使用HTML Agility Pack取消它。

试试这些:

ASP.NET: (开源库)

Scraping HTML DOM elements using HtmlAgilityPack (HAP) in ASP.NET

PHP & CURLWEB SCRAPING WITH PHP & CURL

Node.jsScreen Scraping with Node.js

Ajax YQL&:Screen scraping using YQL and AJAX

票数 3
EN

Stack Overflow用户

发布于 2014-04-04 17:06:48

尝试http://code.google.com/p/crawler4j/它非常容易使用,你必须覆盖一个类,它是Controller.java。

你只需要指定种子,它就会在两个变量中为每个抓取的网站返回文本和HTML数据。

票数 2
EN

Stack Overflow用户

发布于 2013-10-26 07:59:45

第二个链接是每隔几秒钟从API中拉取信息。使用Google Chrome,您可以使用开发人员工具,然后单击“网络”来检查类似的事情。然后,您可以查看发送了哪些请求,并可以通过右键单击request -> copy as CURL轻松地复制它们。然后,您会得到类似下面这样的内容,其中包括由CURL命令中的请求发送的所有头部和post数据。这就是第二个链接调用的内容:

代码语言:javascript
复制
curl 'http://utilsub.lbs.ubc.ca/ion/default.aspx/GetRTxmlData' -H 'Cookie: ASP.NET_SessionId=oq0qiwuqbb3g3453jvyysvjx' -H 'Origin: http://utilsub.lbs.ubc.ca' -H 'Accept-Encoding: gzip,deflate,sdch' -H 'Host: utilsub.lbs.ubc.ca' -H 'Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36' -H 'Content-Type: application/json; charset=UTF-8' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'Referer: http://utilsub.lbs.ubc.ca/ion/default.aspx?dgm=x-pml:/diagrams/ud/network.dgm&node=Buildings.AERL&unique_id=75660a13-5145-42d5-b661-a50f328306c7&logServerName=QUERYSERVER.UTIL2SUB&logServerHandle=327952' -H 'X-Requested-With: XMLHttpRequest' -H 'Connection: keep-alive' --data-binary $'{\'dgm\':\'x-pml:/diagrams/ud/network.dgm\',\'id\':\'75660a13-5145-42d5-b661-a50f328306c7\',\'node\':\'\'}' --compressed

API返回包装在JSON中的XML。

你可能想在PHP中使用CURL,就像codeSpy所说的,你只需要设置所有的头部,post数据并正确地复制请求,否则API就不会响应你的请求。

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

https://stackoverflow.com/questions/19600918

复制
相关文章

相似问题

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