Le contenu de cet article est de partager avec vous comment utiliser Python pour explorer le contenu en js. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. 🎜 >
1. Lors de l'écriture d'un logiciel d'exploration pour obtenir le contenu requis, vous pouvez constater que le contenu requis est ajouté par javascript et est vide lors de la récupération. Par exemple, lorsque nous obtenons Sina. Actualités Le nombre de commentaires ne peut pas être obtenu par les méthodes ordinaires. 🎜>Le résultat obtenu à ce moment est vide car le contenu est stocké dans un fichier js
<.>Nous devons donc trouver le js qui stocke le contenu du commentaire. Nous avons constaté qu'il est stocké dans js
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)
que l'on peut voir dans l'entête du message Le chemin d'accès et la méthode de requête du fichier js
Exemple de code
Remarque : Voici une explication de la raison pour laquelle var data= doit être supprimé car le préfixe de chaîne inclut var data= lors de son obtention, ce qui est le cas n'est pas conforme au format de données json, il doit donc être supprimé du contenu de la requête lors de la conversion
Pourquoi utiliser jd['result '][
'count'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'])
'total' lors de l'obtention du nombre total de commentaires
]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!