【发布时间】:2017-08-31 23:44:29
【问题描述】:
我正在尝试从网站上抓取表格数据。我想要的数据“隐藏”在 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>
点击后,有一个post请求和下面的一些细节。
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框后面你的数据是可用的;我说的对吗? -
是的,没错。所以我有这个网页我正在尝试抓取,并且有一个 onclick 链接将启动一个 JS 对话框。我知道我可以从 JS 框中提取数据,但是如何通过“单击”来启动 JS 对话框?问题是我有多个结构相似的网页,我试图从中提取信息。我想写一个抓取脚本,可以做我的鼠标正在做的“点击”。
标签: python web-crawler python-requests