Maison > Questions et réponses > le corps du texte
我要的是这个里面的内容
<p class="talk-article__body talk-transcript__body">
Code PYTHON :
neirong=soup.find('p',{'class':'talk-article__body talk-transcript__body'})
Mais le résultat renvoyé est vide. Ce sélecteur est-il mal écrit ?
某草草2017-05-27 17:41:42
neirong=soup.find_all('p',class_='talk-article__body talk-transcript__body')
https://www.crummy.com/softwa...
阿神2017-05-27 17:41:42
Référez-vous aux instructions données dans : https://www.crummy.com/softwa..., la bonne façon de l'utiliser est : neirong=soup.find('p',class_='talk- article__body talk -transcript__body')
neirong=soup.find('p',class_='talk-article__body talk-transcript__body')
为了获取p
包含的内容,进一步调用neirong.contents
p
, appelez ensuite neirong.contents
🎜怪我咯2017-05-27 17:41:42
Le contenu que vous voyez depuis le navigateur est généré dynamiquement par js, et il ne peut pas être mis en correspondance avec bs. J'ai trouvé que les noms de classes étranges que j'ai vus étaient essentiellement générés par js
.曾经蜡笔没有小新2017-05-27 17:41:42
Personnellement, je pense que lors de l'utilisation de BeautifulSoup pour analyser une page Web, si l'auteur envisage d'utiliser les fonctionnalités CSS pour positionner les éléments, il est préférable d'utiliser soup.select(). la classe comme paramètre. Vous pouvez également utiliser l'attribut de la balise comme paramètre, ce qui est très pratique. Il est préférable de l'utiliser pour rechercher une seule balise. En même temps, le paramètre prend en charge les chaînes de sélection CSS, telles que : soupe.select("#id > .class a.title")
soup.find() ne semble pas être beaucoup utilisée à l'heure actuelle. Je me demande si BeautifulSoup4 l'a dépréciée. Désormais, généralement, tant que find apparaît, il s'agit de find_all() et d'autres méthodes.
Pour plus de détails, veuillez vous référer au document chinois de "Super Soup" : http://beautifulsoup.readthed...