Python 如何访问下面代码中的第二个跨度?

Python 如何访问下面代码中的第二个跨度?,python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,我想访问一个日期为的span,但当我编写article.h3.span时,它给出了第一个span(/)。如何访问带有日期的跨度 <a class="category-link" href="https://www.japantimes.co.jp/news_category/world/"> World </a> <span> / </span> <a class="category-link" href="https://

我想访问一个日期为的span,但当我编写article.h3.span时,它给出了第一个span(/)。如何访问带有日期的跨度

 <a class="category-link" href="https://www.japantimes.co.jp/news_category/world/">
  World
 </a>
 <span>
  /
 </span>
 <a class="category-link" href="https://www.japantimes.co.jp/news_category/crime-legal-world/">
  Crime &amp; Legal
 </a>
 <span class="right date">
  Mar 19, 2019
 </span>
</h3>

您可以使用
next
获取日期,请参见下面的代码

html = '''
 <a class="category-link" href="https://www.japantimes.co.jp/news_category/world/">
  World
 </a>
 <span>
  /
 </span>
 <a class="category-link" href="https://www.japantimes.co.jp/news_category/crime-legal-world/">
  Crime &amp; Legal
 </a>
 <span class="right date">
  Mar 19, 2019
 </span>
</h3>'''

soup = BeautifulSoup(html,'html.parser')
date = soup.find('span',attrs={'class':'right date'}).next
print(date.strip())

使用
span
标记中的
class=right date
可以:

from bs4 import BeautifulSoup

article = "https://www.japantimes.co.jp/tag/cybersecurity/page/1/"
page = urllib.request.urlopen(article)
soup = BeautifulSoup(page, 'html.parser')
date = soup.find('span', class_ ="right date")
print(date.text)
输出

Mar 19, 2019

对于那个特定的日期,您可以使用更快的单类选择器

item = soup.select_one('.date').text
如果你想要全部的话

items = [item.text for item in soup.select('.date')]

但是当我写这篇文章的时候,你在哪里写的?你的代码在哪里?你需要使用
span
标签而不是
文章
,并使用它的类
正确日期
,看看我在下面发布的答案是否有帮助?
item = soup.select_one('.date').text
items = [item.text for item in soup.select('.date')]