gpt4 book ai didi

python - 如何获取HTML Script标签的内容

转载 作者:太空宇宙 更新时间:2023-11-03 13:59:52 24 4
gpt4 key购买 nike

我正在尝试从 URL 中抓取地理数据以进行抓取练习。但我在处理脚本标记的内容时遇到了麻烦。

以下是脚本标签的内容:

<script type="application/ld+json">
{
"address": {
"@type": "PostalAddress",
"streetAddress": "5080 Riverside Drive",
"addressLocality": "Macon",
"addressRegion": "GA",
"postalCode": "31210-1100",
"addressCountry": "US"
},
"telephone": "478-471-0171",
"geo": {
"@type": "GeoCoordinates",
"latitude": "32.9252435",
"longitude": "-83.7145993"
}
}
</script>

我想将脚本标签的内容(城市、州、纬度、经度和电话号码)添加到我的结果中。

以下是我的代码(不完整):

def parse(self,response)
items = MyItem()
tree = Selector(response)

items['city'] = tree.xpath('//script/text()').extract()[0]
items['state'] = tree.xpath('//script/text()').extract()[0]
items['latitude'] = tree.xpath('//script/text()').extract()[0]
items['longitude'] = tree.xpath('//script/text()').extract()[0]
items['telephone'] = tree.xpath('//script/text()').extract()[0]
print(items)
yield items

我可以获得有关如何实现这一目标的任何建议吗?

最佳答案

我不明白你想用重复的 xpath 查询做什么 //item/title/text() 。请注意,xpath 对于提取 HTML 内容很有用。 <script>的内容您问题中的 tag 不是 HTML,因此无法使用 xpath 进行查询。

第一步,您可以获得 <script> 的内容标签:

content = tree.xpath('//script/text()').extract()[0]

然后您可以使用json将 json 内容加载到 Python 字典中的包:

d = json.loads(content)

另请注意 <script> 中的 JSON在你的例子中是无效的,它缺少一个右大括号。上述方法仅适用于有效内容。

关于python - 如何获取HTML Script标签的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49327937/

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