gpt4 book ai didi

javascript - Python Beautiful Soup 抓取和解析

转载 作者:行者123 更新时间:2023-11-30 13:52:59 25 4
gpt4 key购买 nike

我正尝试使用 BeautifulSoup 抓取一个 Java Script 页面

bb2_addLoadEvent(function() {
for ( i=0; i < document.forms.length; i++ ) {
if (document.forms[i].method == 'post') {
var myElement = document.createElement('input');
myElement.setAttribute('type', 'hidden');
myElement.name = 'bb2_screener_';
myElement.value = '1568090530 122.44.202.205 122.44.202.205';
document.forms[i].appendChild(myElement);
}

我想获取“myElement.value”的值,但我不熟悉如何获取(如果 BeautifulSoup 甚至可能的话)

我试过了:

soup = BeautifulSoup(a.text, 'html.parser')
h = soup.find('type') ...('div') ... ('input') ... even ('var')
print(soup)

没有运气:(

有没有办法获取这个值?如果是怎么办?

最佳答案

了解更多关于跨不同页面的 myElement.value 的信息会有所帮助。您可能会使用简单的字符集和前导字符串,如下面的正则表达式所示。我想收紧它,但需要更多的例子.....也许那些数字长度是固定的和重复的? ..... 然后像 p = re.compile(r"myElement\.value = '(\d{10}(?:(\s\d{3}\.\d{2}\.\d{3}\.\d{3}){2}))';") <= 然后进入第 1 组。

import re

s = '''bb2_addLoadEvent(function() {
for ( i=0; i < document.forms.length; i++ ) {
if (document.forms[i].method == 'post') {
var myElement = document.createElement('input');
myElement.setAttribute('type', 'hidden');
myElement.name = 'bb2_screener_';
myElement.value = '1568090530 122.44.202.205 122.44.202.205';
document.forms[i].appendChild(myElement);
}'''

p = re.compile(r"myElement\.value = '([\d\s\.]+)';")
print(p.findall(s)[0])

@SIM 也好心提议:

p = re.compile(r"value[^']+'([^']*)'"

关于javascript - Python Beautiful Soup 抓取和解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57865046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com