美丽的汤div与类和id都

时间:2015-01-21 18:01:48

标签: python python-2.7 web-scraping beautifulsoup

我是初学者,想要问如何使用漂亮的汤从以下类型的代码中提取数据:

<div class="about-book" id="aboutbook">
Blah blah blah
</div>

如何获得&#34; Blah blah blah&#34;当有&#34; about-book&#34;使用不同的ID和&#34; aboutbook&#34;使用不同的类名。我想要的是类名和id的组合。

3 个答案:

答案 0 :(得分:1)

from bs4 import BeautifulSoup

soup = BeautifulSoup("""<div class="about-book" id="aboutbook">
Blah blah blah
</div>""")

print([x.text for x in soup.find_all("div",attrs={"class":"about-book","id":"aboutbook"})])
[u'\nBlah blah blah\n']

如果只有一个:

  print(soup.find("div",attrs={"class":"about-book","id":"aboutbook"}).text)

答案 1 :(得分:0)

尝试"div#aboutbook.about-book"

使用beautifulsoup,您可以这样写:

soup = BeautifulSoup(html) soup.find_all("div", class_="about-book", id="aboutbook")

答案 2 :(得分:0)

要在 BeautifulSoup 中使用 class 或 id 抓取数据,使用 ProxyCrawl’s 内置库是理想的选择,因为它们具有多种编程语言支持、预定义库、功能等。您可以轻松自定义您选择的参数并完全按照您的要求抓取数据。现在,您可以使用以下代码。

<块引用>

源代码

from bs4 import BeautifulSoup
import requests
url = "https://github.com/"
req = requests.get(url)
soup = BeautifulSoup(req.text, "html.parser")
print(soup.title)
title = soup.find_all(class_="outer-text")
for i in title:
    print(i.text)

des = soup.find_all(id="first")
for j in des:
    print(j.text)