少しのPythonコーディングで可能です。
貨物オフィスの場所を取得するための簡単なスクリプトを作成しました。
最初のステップ
- トルコ語で、たとえば Google Chrome で ajax ページを開きますが、理解できます。
http://www.yurticikargo.com/bilgi-servisleri/Sayfalar/en-yakin-sube.aspx
- F12 を押して下部の開発者ツールを表示し、 [ネットワーク] タブに移動します。
- 下部のXHRタブに移動します。
- 最初のコンボボックスでアイテムを選択して、AJAX リクエストを作成します。そしてヘッダータブに行きます
左ペインでGetTownByCityをクリックして調べます。
Request URL: (...)/_layouts/ArikanliHolding.YurticiKargo.WebSite/ajaxproxy-
sswservices.aspx/GetTownByCity
Request Method:POST
Status Code:200 OK
ツリー項目にRequest Payload
表示されます
Request Payload :{cityId:34}
ヘッダ。
これにより、Python コードを実装することができます。
やってみましょう。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import json
# import simplejson as json
baseUrl = 'http://www.yurticikargo.com/'
ajaxRoot = '_layouts/ArikanliHolding.YurticiKargo.WebSite/'
getTown = 'ajaxproxy-sswservices.aspx/GetTownByCity'
urlGetTown = baseUrl + ajaxRoot + getTown
headers = {'content-type': 'application/json','encoding':'utf-8'} # We are sending JSON headers, equivalent to Python dictionary
for plaka in range(1,82): # Because Turkiye has number plates from 1 to 81
payload = {'cityId':plaka}
r = requests.post(url, data=json.dumps(payload), headers=headers)
data = r.json() # Returning data is in JSON format, if you need HTML use r.content()
# ... Process the fetched data with JSON parser,
# If HTML format, Beautiful Soup, Lxml, or etc...
このコードは私の作業コードの一部であり、オンザフライで書かれていることに注意してください。最も重要なことは、私がテストしていないことです。実行するには、小さな変更が必要になる場合があります。