从网站提取数据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行,但思想起作用。
谢谢汤姆。但我想要所有的数字。网格底部有“查看XXX XXX的1 - 50”之类的内容。热退休所有XXX XXX号码。 – Chandru
尝试发布页面:2/3/4 ..等在卷曲请求.. –
汤姆我不熟悉CURL命令。你能否为我提供上述要求的命令。我在HTTP POST中看到“rows:50”,我想我可以像“rows:5000”一样增加行值,以获取所有数据而不是页面导航。您的建议是什么? – Chandru