Heim  >  Fragen und Antworten  >  Hauptteil

Python – Problem mit Beautifulsoup beim Abrufen von Webinhalten

我要的是这个里面的内容
<p class="talk-article__body talk-transcript__body">

PYTHON-Code:

neirong=soup.find('p',{'class':'talk-article__body talk-transcript__body'})

Aber das zurückgegebene Ergebnis ist leer. Ist dieser Selektor falsch geschrieben?

習慣沉默習慣沉默2702 Tage vor636

Antworte allen(6)Ich werde antworten

  • 某草草

    某草草2017-05-27 17:41:42

    neirong=soup.find_all('p',class_='talk-article__body talk-transcript__body')
    

    https://www.crummy.com/softwa...

    Antwort
    0
  • 阿神

    阿神2017-05-27 17:41:42

    参照:https://www.crummy.com/softwa...中给出的说明,正确的使用方式是:
    neirong=soup.find('p',class_='talk-article__body talk-transcript__body')

    为了获取p包含的内容,进一步调用neirong.contents即可

    Antwort
    0
  • 怪我咯

    怪我咯2017-05-27 17:41:42

    neirong = soup.select('.talk-article__body.talk-transcript__body')

    Antwort
    0
  • 怪我咯

    怪我咯2017-05-27 17:41:42

    你从浏览器看到的内容有js动态生成的,用bs匹配不到,我发现看到的比较奇怪的class名基本都是js生成的

    Antwort
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-27 17:41:42

    使用find_all吧,find不能用于class

    Antwort
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-27 17:41:42

    • 个人觉得用BeautifulSoup来解析网页的时候,如果楼主打算通过css特性来进行元素的定位的话,最好还是使用soup.select(),这个方法可以用class的value当参数也可以用标签的的attribute当参数,很方便,用于搜索单一标签最好用,同时参数支持css选择器字符串,比如:soup.select("#id > .class a.title").

    • soup.find()方法目前好像用的不多,不知道是不是BeautifulSoup4弃用了。现在一般只要出现find,就是find_all()等方法。
      以上详细参考“超级汤”的中文文档:http://beautifulsoup.readthed...

    Antwort
    0
  • StornierenAntwort