我不熟悉网页抓取功能,遇到了一个包含以下代码的小路障:
import requests
from bs4 import BeautifulSoup
url = "www.website.com"
page = requests.get(url)
soup = BeautifulSoup(page.content, "html.parser")
price_scripts = soup.find_all('script')[23]
print(price_scripts)
所有拉出的脚本似乎都是Python脚本。这是上面的代码打印出来的:
<script>
p.a = [0,"6.93","9.34","3.42","7.88"];
p.output();
</script>
我想做的是从此脚本中提取列表,但是当我尝试执行时,它只会返回“ None”。
答案 0 :(得分:1)
您应该能够通过以下方式提取数据:
target = price_scripts.text
输出:
p.a = [0,"6.93","9.34","3.42","7.88"];
p.output();
此时,您需要通过去除括号之间的所有内容来进行字符串操作,如下所示:
print(target.text.split('[')[1].split(']')[0])
请注意,每次使用split()
方法都会创建一个列表,因此您必须从列表中选择正确的元素。
输出:
0,“ 6.93”,“ 9.34”,“ 3.42”,“ 7.88”