python - Webscraping page_soup.findAll 我需要从网页中提取特定数据但不知道该怎么做
问题描述
我正在尝试做一些网页抓取,我需要从网页中提取关键字。我正在尝试使用 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, EXCEDENTES ISAPRES, INCENDIOS, COLUSION CONFORT, COMPENSACION, Permisos de CircULACION, REVISION TECNICA"
谢谢
解决方案
这不是HTML
,但JavaScript
对此findaAll()
没有用。
你有它作为字符串,所以使用字符串函数来获取它 - 即。切片[start:end]
, split()
,replace()
等
或者您可以从此字符串中删除var kv =
,;
并且您将拥有 JSON 字符串,您可以使用模块将其转换为 Python 的字典json
,然后您可以从字典中获取它 -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'])
推荐阅读
- java - 为什么在删除 JSON 对象时此循环会过早退出?
- python - 在numpy中地板到最接近0.2的倍数?
- python - Raspberry + OpenCV:picamera.exc.PiCameraValueError:分辨率 640x480 的缓冲区长度不正确
- mongodb - 模型与 Lucid Mongo 中其他模型的 ID 数组的关系
- python - 在 Telegram 机器人的内联模式下使用命令 (/)
- r - R-如何使用来自另一个数据帧的外键重新排列数据帧中的行
- python - 使用 Pandas 随机化带有条件的列表
- python - 围绕固定轴旋转立方体
- angular - Angular 9 - 在注入的 HTML 鼠标悬停时打开浮动组件
- android - 在颤振应用程序中构建 apk 的问题