簡體   English   中英

在課堂上找到BeautifulSoup無效

[英]BeautifulSoup find on class doesn't work

打印文本到控制台給我

    <html>
     <body>
      <p>
       }"
      </p>
      <div class='\"message-container\"' id='\"m154862032\"' >
      ...

但是當我嘗試提取消息容器div時,我得到一個空列表

  messageContainers = BeautifulSoup(post).findAll('div',attrs={'class':'message-container'})

您的HTML格式不正確,並且在屬性值中包含嵌入的反斜杠和引號。 搜索課程時,您必須包括這些引號:

>>> from bs4 import BeautifulSoup
>>> sample = r'''
...     <html>
...      <body>
...       <p>
...        }"
...       </p>
...       <div class='\"message-container\"' id='\"m154862032\"' >
... '''
>>> soup = BeautifulSoup(sample)
>>> soup.find_all('div', class_=r'\"message-container\"')
[<div class='\"message-container\"' id='\"m154862032\"'>
</div>]

我在這里使用原始字符串文字( r'...' )以避免將反斜杠解釋為轉義序列。 這樣,我不必加倍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM