如何使用BeautifulSoup从网页上的某些JavaScript中提取长字符串?
我试图写一个脚本,这样我就可以登录到一个网站,但为了做到这一点,我需要出示验证码。从URL获取验证码直接图像的唯一方法是提取巨大的字符串名称“challenge”,但由于某种原因,我无法使用BeautifulSoup进行此操作。提取长字符串的最佳方法是什么如何使用BeautifulSoup从网页上的某些JavaScript中提取长字符串?,javascript,python,beautifulsoup,Javascript,Python,Beautifulsoup,我试图写一个脚本,这样我就可以登录到一个网站,但为了做到这一点,我需要出示验证码。从URL获取验证码直接图像的唯一方法是提取巨大的字符串名称“challenge”,但由于某种原因,我无法使用BeautifulSoup进行此操作。提取长字符串的最佳方法是什么 var RecaptchaState = { site : '4LfjPgEA56AABAJExraAeYXdMbVhPcG__Hyv-URXF', challenge : '03AHJ_VusE_PgNB0vfBpD2h53
var RecaptchaState = {
site : '4LfjPgEA56AABAJExraAeYXdMbVhPcG__Hyv-URXF',
challenge : '03AHJ_VusE_PgNB0vfBpD2h53o8uGMt1MeKi9bzhOTsjt0ze7SKmHVNe8uADceoU3JLPjpp8cJCVDGiYKo1ho-r1JcV19tm26doUHqevixJjH8SZ26i4EWbUOQLEuODf0Kt6JI0ZhtfiIaIXDg9MhUyDCEt_qxFWbSHA',
is_incorrect : false,
programming_error : '',
error_message : '',
server : 'http://www.google.com/recaptcha/api/',
timeout : 18000
};
document.write('
<scr>
');
</scr>
var RecaptchaState={
地点:“4LfjPgEA56AABAJExraAeYXdMbVhPcG__Hyv-URXF”,
挑战:“03AHJ_VusE_PGNB0VFBPD2H53O8Ugmt19BZHOTSJ0ZE7SKMHVNE8UADCOUO3JLPJP8CJCVDGIYKO1HO-R1JCV19TM26DOUQEVIXJH8SZ26I4EWBUOQEUODF0KT6JI0ZHTFIIADG9MHUYDCOU QXWBSHA”,
不正确:错误,
编程错误:“”,
错误消息:“”,
服务器:'http://www.google.com/recaptcha/api/',
超时:18000
};
文件。写('
');
BeautifulSoup不解析js,您需要使用正则表达式或类似的方法来解析。BeautifulSoup不解析js,您需要使用正则表达式或类似的方法来解析。我只需要使用正则表达式。对此不确定,但我不认为beautifulsoup解析javascript——只解析(x)html:
给出:
“03AHJ_VusE_PgNB0vfBpD2h53o8uGMt1MeKi9bzhOTsjt0ze7SKmHVNe8uADceoU3JLPjpp8cJCVDGiYKo1ho-R1JCV19TM26DOUQEVIXJH8SZ26I4EWBUOQEUODF0KT6JI0ZHTFIIADG9MHUYDCET_qxFWbSHA”我只使用正则表达式。对此不确定,但我不认为beautifulsoup解析javascript——只解析(x)html: 给出: “03AHJ_VusE_PGNb0vfBPD2H53O8Ugmt19BZHOTSJ0ZE7SKMHVNE8UADCOUO3JLPJPP8CJCVDGIYKO1HO-R1JCV19TM26DOUQEVIXJH8SZ26I4EWBUOQEUODF0KT6JI0ZHTFIIdG9MHUYDCOU qxFWbSHA”
challenge = re.search(r"challenge *: *'(\S+)'", x).group(1)