私はウェブサイトからテーブルデータをスクラップしようとしています。私が欲しいデータは、onclickイベントの後ろに隠れています。python web scraping:onclick ajaxリクエストはステータス200で何も返しません。
<a class="text" onclick="javascript:openPAOnSR_RS('some_sku', 'brandname','divId', 'some_args','OPC Page Details');cmTagAndLink('Open Link','OPC Page Details',null,null,null);">The Click</a>
クリック後、投稿リクエストと以下の詳細があります。
Request URL:http://www.somewebsite.com/catalog/tables.do?some_sku=sku&brandKey=brandname&divId=divId
Request Method:POST
Status Code:200 OK
Remote Address:23.xxxxxxxxxxx
Referrer Policy:no-referrer-when-downgrade
私は以下のコードを書いたが、何も返さなかった。
from urllib.parse import urlencode
from requests.exceptions import RequestException
import requests
def get_page_index():
string_param = {
'some_sku': 'sku',
'brandKey': 'brandname',
'divId': 'divId'
}
url = "http://www.somewebsite.com/catalog/tables.do?" + urlencode(string_param)
try:
response = requests.post(url=url, data=string_param)
if response.status_code == 200:
print(response.url, response.content)
return response.text
return None
except RequestException as e:
print(e)
私は何も出力を取得していない午前、ステータスが200がどのようにクリックイベントにデータ「背後」を取得する必要を示して?
あなたはonclickイベントが発生したときを説明できますか?あなたがウェブサイトをリクエストした後、クリックしてから「JS」ダイアログボックスが表示され、その「JS」ボックスの後ろにデータがあります。私は正しい? –
はい、正しいです。だから私はこのページを手に入れようとしており、JSダイアログボックスを起動するonclickリンクがあります。私はJSボックスからデータを抽出できることを知っていますが、JSダイアログを開始するにはどうすればいいですか?質問は、私は情報を抽出しようとしている複数の同様の構造化されたWebページを持っているということです。私はマウスがしている "クリック"を行うことができるスクレイピングスクリプトを書いてみたい。 –