3

こんにちは私はグリッドからすべての電話番号を削除しようとしています。

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

それを行う方法はありますか

4

1 に答える 1

1

トピックからひどく外れているように見えるので、これに答えることさえ本当に2つの心で。

私が見つけた最も簡単な方法は、クロムでページを開き、開発者ツールをロードし、ページをリロードしてから、データを要求する 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

ご覧のとおり、正確なブラウザー リクエストを curl-d " "データ指定子にコピーしました。

はい、実際に「rows=50」が「rows=5000」になるように変更すると、予想されるデータのバットロードが得られることがわかります。 <rows><page>1</page><total>1</total><records>2368</records>

実際には 2300 行をわずかに超えていますが、その考えはうまくいきます。

于 2013-01-07T13:42:15.733 に答える