网络抓取page_soup.find我需要从网页中提取特定数据,但不知道该怎么做

时间:2019-11-26 00:26:35

标签: python html web-scraping beautifulsoup

我正在尝试进行一些网页封装,因此需要从网页中提取关键字。我正在尝试使用page_soup.findAll()提取它,但是我不知道在()之间插入什么来提取我需要的东西。

页面代码如下:

var kv = {"seccion": "otros","nivel": "home","nota": "","id_nota": "","tipo": "noticias","keywords" : "IMPUESTOS,  SII,  EXCEDENTES ISAPRES,  INCENDIOS,  COLUSION CONFORT,  COMPENSACION,  PERMISOS DE CIRCULACION,  REVISION TECNICA"};

我需要这些数据:

“ IMPUESTOS,SII超越了ISAPRES,INCEDENOS,凝聚力,赔偿,补偿,PERMISOS DE CIRCULACION,修订版TECNICA”

谢谢

1 个答案:

答案 0 :(得分:0)

这不是HTML,而是JavaScript,因此findaAll()对此没有用。

您将其作为字符串使用,因此请使用字符串函数来获取它-即。切片[start:end]split()replace()

或者您可以从字符串var kv =;中删除,您将拥有JSON字符串,可以使用模块json将其转换为Python的字典,然后可以从字典中获取它- dictionary["keywords"]

text = 'var kv = {"seccion": "otros","nivel": "home","nota": "","id_nota": "","tipo": "noticias","keywords" : "IMPUESTOS,  SII,  EXCEDENTES ISAPRES,  INCENDIOS,  COLUSION CONFORT,  COMPENSACION,  PERMISOS DE CIRCULACION,  REVISION TECNICA"};'

text = text[9:-1]  # remove `var kv = ` and `;`

import json

d = json.loads(text)

print(d['keywords'])