从网站提取数据Jquery Grid

问题描述:

嗨我试图从网格中提取所有电话号码。从网站提取数据Jquery Grid

sancharsoft.bsnl.co.in/auction/vacant_nos/ch/gsm_choice.asp

有没有办法做到这一点

真正有两个头脑约什回答这个问题,因为它似乎非常关闭话题。

我发现的最简单的方法是在chrome中打开页面,加载开发人员工具,重新加载页面,然后查找请求数据的POST请求,然后可以使用Curl伪造该请求,然后提取数据来自它返回的XML文件。

远比从呈现的网格中抓取它容易。

Request URL:http://sancharsoft.bsnl.co.in/auction/vacant_nos/ch/fancy_nos_load.asp 
Request Method:POST 
Status Code:200 OK 
Request Headersview source 
Accept:application/xml, text/xml, */*; q=0.01 
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 
Accept-Encoding:gzip,deflate,sdch 
Accept-Language:en-US,en;q=0.8 
Cache-Control:no-cache 
Connection:keep-alive 
Content-Length:65 
Content-Type:application/x-www-form-urlencoded 
Cookie:ASPSESSIONIDSARRQQBT=EALMIDLAPLDHCEKDHIOKHHFG; PHPSESSID=88mr7i6gqis9u3ece750shjsg4 
Host:sancharsoft.bsnl.co.in 
Origin:http://sancharsoft.bsnl.co.in 
Pragma:no-cache 
Referer:http://sancharsoft.bsnl.co.in/auction/vacant_nos/ch/gsm_no_choice.asp 
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.101 Safari/537.11 
X-Requested-With:XMLHttpRequest 
Form Dataview URL encoded 
_search:false 
nd:1357565939966 
rows:50 
page:1 
sidx:gsmno 
sord:asc 
Response Headersview source 
Cache-Control:private 
Content-Length:4605 
Content-Type:text/xml; Charset=utf-8 
Date:Mon, 07 Jan 2013 13:38:59 GMT 
Server:Microsoft-IIS/7.0 
X-Powered-By:ASP.NET 

返回

<?xml version='1.0' encoding='utf-8'?><rows><page>1</page><total>48</total><records>2374</records><row id='9444011515'><cell><![CDATA[9444011515]]></cell><cell><![CDATA[843]]></cell></row><row id='9444018222'><cell><![CDATA[9444018222]]></cell><cell><![CDATA[843]]></cell></row><row id='9444026222'><cell><![CDATA[9444026222]]></cell><cell><![CDATA[843]]></cell></row></rows> 

所以..要与卷曲做..

curl -d "_search=false&nd=1357565939966&rows=50&page=1&sidx=gsmno&sord=asc" http://sancharsoft.bsnl.co.in/auction/vacant_nos/ch/fancy_nos_load.asp 

正如你所看到的,我复制了确切的浏览器请求到卷曲-d " "数据符。

事实证明,是的,你实际上可以改变它,以便“rows = 50”变成“rows = 5000”,并且你得到预期的buttload数据。 <rows><page>1</page><total>1</total><records>2368</records>

实际上,刚刚超过2300行,但思想起作用。

+0

谢谢汤姆。但我想要所有的数字。网格底部有“查看XXX XXX的1 - 50”之类的内容。热退休所有XXX XXX号码。 – Chandru

+0

尝试发布页面:2/3/4 ..等在卷曲请求.. –

+0

汤姆我不熟悉CURL命令。你能否为我提供上述要求的命令。我在HTTP POST中看到“rows:50”,我想我可以像“rows:5000”一样增加行值,以获取所有数据而不是页面导航。您的建议是什么? – Chandru