Maison >développement back-end >Tutoriel Python >Comment explorer le contenu en js en utilisant python
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)Mettez le correspondant. contenu dans la visionneuse de données json et nous avons constaté que le nombre total de commentaires et le contenu des commentaires sont tous deux Dans ce fichier js, stockez
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!