![](/img/trans.png)
[英]Web scraping with python, request.json() shows status_code of 200 but can not extract json data
[英]python web scraping: onclick ajax request returns nothing with status 200
我正在嘗試從網站上抓取表格數據。 我想要的數據“隱藏”在一個onclick事件后面。
<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。如何在單擊事件中“隱藏”數據?
urllib
只會用html
內容回復您,因此您不會干擾該網站上的JS東西,其中有robobrowser
, scrapy
類的模塊,但它們僅單擊html
復選框或按鈕。
因此,其他選項更可取。
1)通過使用Phantom
的無頭瀏覽器來Selenium
。
2)使用Scrapy + splash
我可以問一下您執行了什么步驟之后再點擊按鈕嗎?
您放置一些信息后單擊按鈕嗎? 或者您只是在網站顯示時單擊按鈕?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.