मैं कुछ वेबस्क्रैपिंग करने की कोशिश कर रहा हूं और मुझे वेबपेज से कीवर्ड निकालने की जरूरत है। मैं इसे निकालने के लिए 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, EXEXENTES ISAPRES, INCENDIOS, COOLUSION CONFORT, Compensacion, PERMISOS DE CIRCULACION, REVISION TECNICA"

धन्यवाद

0
Cipher 26 नवम्बर 2019, 03:26
यह कोड HTML नहीं बल्कि जावास्क्रिप्ट है - इसलिए findaAll() इसके लिए बेकार है। आपके पास यह स्ट्रिंग के रूप में है इसलिए इसे प्राप्त करने के लिए स्ट्रिंग फ़ंक्शंस का उपयोग करें - अर्थात। स्लाइसिंग [start:end], split(), replace(), आदि। या आप इस स्ट्रिंग var kv = और ; से हटा सकते हैं और आपके पास JSON स्ट्रिंग होगी जिसे आप कनवर्ट कर सकते हैं मॉड्यूल json का उपयोग करके पायथन डिक्शनरी और फिर आप इसे डिक्शनरी से प्राप्त कर सकते हैं - dictionary["keywords"]
 – 
furas
26 नवम्बर 2019, 04:12

1 उत्तर

यह HTML नहीं बल्कि JavaScript है इसलिए findaAll() इसके लिए बेकार है।

आपके पास यह स्ट्रिंग के रूप में है इसलिए इसे प्राप्त करने के लिए स्ट्रिंग फ़ंक्शंस का उपयोग करें - अर्थात। स्लाइसिंग [start:end], split(), replace(), आदि।

या आप इस स्ट्रिंग var kv = और ; से हटा सकते हैं और आपके पास JSON स्ट्रिंग होगी जिसे आप मॉड्यूल 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'])
0
furas 26 नवम्बर 2019, 04:16