使用 Beautifulsoup 获取特定的 div 标签

Getting a specific div tag with Beautful soup

通常我会用 class 名称来称呼 div,但它不是唯一的。 唯一 div 标签的独特之处在于 div 之后的单词“data-sc-replace”。这是源代码的一个简短示例

<div data-sc-replace data-sc-slot="1234" class = "inlineblock" data-sc-params="{'magnet': 'magnet:?......'extension': 'epub', 'stream': '' }"></div>

如果单词 "data-sc-replace" 未附加到 class 或 ID,我将如何调用它?

这是我的代码

import requests
from bs4 import BeautifulSoup

 url_to_scrape = "http://example.com"
 r = requests.get(url_to_scrape)
 soup = BeautifulSoup(r.text, "html5lib")
 list = soup.findAll('div', {'class':'inlineblock'})

 print(list)

 # list = soup.findAll("div", "data-sc-params")
 # list = soup.find('data-sc-replace')
 # list = soup.find('data-sc-params')
 # list = soup.find('div', {'class':'inlineblock'}, 'data-sc-params')

使用 CSS 查询选择器。查找具有 data-sc-replace 个属性的所有 divs

result = soup.select('div[data-sc-replace]')

那个显着标记似乎是一个没有价值的 HTML 属性。所以试试这个:

soup.find('div', attrs = {'data-sc-replace': ''})
# or use find_all() to get all such div containers