beautifulsoup returns none 对元素使用 find() 时
beautifulsoup returns none when using find() for an element
我正在尝试抓取该网站以检索每篇论文的发表年份。我已经设法获得了工作的头衔,但是说到刮擦岁月,它 returns none.
我已经分解了它,当它进入 for 循环时会出现 'none' 的结果,但我无法弄清楚为什么当它使用标题时会发生这种情况。
import requests
from bs4 import BeautifulSoup
URL = "https://dblp.org/search?q=web%20scraping"
page = requests.get(URL)
soup = BeautifulSoup(page.content, "html.parser")
results = soup.find(class_="publ-list")
paperResults = results.find_all(class_="data tts-content")
for singlepaper in paperResults:
paperyear = singlepaper.find(class_="datePublished")
print(paperyear)
当转到 paperResults 时,它会在上面一行的结果中提供我选择的部分的细分。
任何关于如何检索年份的建议将不胜感激
试试这个:
import requests
from bs4 import BeautifulSoup
URL = "https://dblp.org/search?q=web%20scraping"
page = requests.get(URL)
soup = BeautifulSoup(page.content, "html.parser")
results = soup.find(class_="publ-list")
paperResults = results.find_all(class_="data tts-content")
for singlepaper in paperResults:
paperyear = singlepaper.find(attrs={"itemprop": "datePublished"})
print(paperyear)
对我有用。
改变这个
for singlepaper in paperResults:
paperyear = singlepaper.find(class_="datePublished")
print(paperyear)
对此
for singlepaper in paperResults:
paperyear = singlepaper.find('span', itemprop="datePublished")
print(paperyear.string)
当您需要解析跨度时,您正在寻找 class...如果您打印 paperResults
,您将看到您的 datePublished
是一个 itemprop
在 span
元素中。
我正在尝试抓取该网站以检索每篇论文的发表年份。我已经设法获得了工作的头衔,但是说到刮擦岁月,它 returns none.
我已经分解了它,当它进入 for 循环时会出现 'none' 的结果,但我无法弄清楚为什么当它使用标题时会发生这种情况。
import requests
from bs4 import BeautifulSoup
URL = "https://dblp.org/search?q=web%20scraping"
page = requests.get(URL)
soup = BeautifulSoup(page.content, "html.parser")
results = soup.find(class_="publ-list")
paperResults = results.find_all(class_="data tts-content")
for singlepaper in paperResults:
paperyear = singlepaper.find(class_="datePublished")
print(paperyear)
当转到 paperResults 时,它会在上面一行的结果中提供我选择的部分的细分。 任何关于如何检索年份的建议将不胜感激
试试这个:
import requests
from bs4 import BeautifulSoup
URL = "https://dblp.org/search?q=web%20scraping"
page = requests.get(URL)
soup = BeautifulSoup(page.content, "html.parser")
results = soup.find(class_="publ-list")
paperResults = results.find_all(class_="data tts-content")
for singlepaper in paperResults:
paperyear = singlepaper.find(attrs={"itemprop": "datePublished"})
print(paperyear)
对我有用。
改变这个
for singlepaper in paperResults:
paperyear = singlepaper.find(class_="datePublished")
print(paperyear)
对此
for singlepaper in paperResults:
paperyear = singlepaper.find('span', itemprop="datePublished")
print(paperyear.string)
当您需要解析跨度时,您正在寻找 class...如果您打印 paperResults
,您将看到您的 datePublished
是一个 itemprop
在 span
元素中。