我正在使用scrapy抓取网页。
现在脚本标签中有一些数据。我使用 xpath 获得了脚本标签中的所有数据,看起来像这样。
<script>
some data
abc.xyz=[["mohit","gupta","456123"]];
some data
</script>
我想要数据,abc.xyz
但我无法这样做。
我正在使用scrapy抓取网页。
现在脚本标签中有一些数据。我使用 xpath 获得了脚本标签中的所有数据,看起来像这样。
<script>
some data
abc.xyz=[["mohit","gupta","456123"]];
some data
</script>
我想要数据,abc.xyz
但我无法这样做。
您可以使用正则表达式abc.xyz=(.*?);
来提取变量值。此外,如果你想从中创建一个 python 列表,你可以使用literal_eval():
from ast import literal_eval
import re
text = """<script>
some data
abc.xyz=[["mohit","gupta","456123"]];
some data
</script>"""
value = re.search('abc.xyz=(.*?);', text).group(1)
print value, type(value)
value = literal_eval(value)
print value, type(value)
印刷:
[["mohit","gupta","456123"]] <type 'str'>
[['mohit', 'gupta', '456123']] <type 'list'>