Heim  >  Artikel  >  Backend-Entwicklung  >  So crawlen Sie den Inhalt in js mit Python

So crawlen Sie den Inhalt in js mit Python

零到壹度
零到壹度Original
2018-04-10 09:54:129361Durchsuche


Der Inhalt dieses Artikels soll Ihnen zeigen, wie Sie Python zum Crawlen des Inhalts in js verwenden. Er hat einen gewissen Referenzwert.

1 Wenn Sie Crawler-Software schreiben, um den erforderlichen Inhalt zu erhalten, kann es vorkommen, dass der erforderliche Inhalt per Javascript hinzugefügt wird und beim Abrufen leer ist Nachrichten Die Anzahl der Kommentare kann nicht mit herkömmlichen Methoden ermittelt werden. 🎜>Das zu diesem Zeitpunkt erhaltene Ergebnis ist leer. Dies liegt daran, dass der Inhalt in einer js-Datei gespeichert ist.


Also müssen wir die js finden, die den Kommentarinhalt speichern. Wir haben festgestellt, dass er in js gespeichert ist.

import requests
from bs4 import BeautifulSoup

res = requests.get('http://news.sina.com.cn/c/nd/2017-06-12/doc-ifyfzhac1650783.shtml')
res.encoding = 'utf-8'
soup = BeautifulSoup(res.text,'html.parser')
#取评论数
commentCount = soup.select_one('#commentCount1')
print(commentCount.text)

Geben Sie das entsprechende ein Inhalt in den JSON-Daten-Viewer und wir haben festgestellt, dass sowohl die Gesamtzahl der Kommentare als auch der Inhalt der Kommentare in dieser JS-Datei gespeichert sind


was wir im Nachrichtenkopf sehen können Der Zugriffspfad und die Anforderungsmethode der js-Datei


Codebeispiel


Hinweis: Hier ist eine Erklärung, warum var data= entfernt werden muss, da das Zeichenfolgenpräfix beim Abrufen var data= enthält, was der Fall ist entspricht nicht dem JSON-Datenformat und muss daher während der Konvertierung aus dem Anforderungsinhalt entfernt werden.

Warum jd[

'result '
import json
comments = requests.get('http://comment5.news.sina.com.cn/page/info?version=1&format=js&channel=gn&newsid=comos-fyfzhac1650783')
comments.encoding = 'utf-8'
print(comments)
jd = json.loads(comments.text.strip('var data=')) #移除改var data=将其变为json数据
print(jd['result']['count']['total'])
][

'count'
]['total' beim Abrufen der Gesamtzahl der Kommentare ]

Das obige ist der detaillierte Inhalt vonSo crawlen Sie den Inhalt in js mit Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Anacondas AnfängerleitfadenNächster Artikel:Anacondas Anfängerleitfaden