gpt4 book ai didi

python - 提取 标签的内容

转载 作者:太空宇宙 更新时间:2023-11-03 12:58:12 29 4
gpt4 key购买 nike

我已经编写了代码来使用 BeautifulSoup 提取一本书的 url 和标题来自页面。

但它并没有在 > 之间提取惊人的 super 科学故事 1930 年 4 月这本书的名字。和 </a>标签。

如何提取书名?

我试过 findnext在另一个问题中推荐的方法,但我得到一个 AttributeError

HTML:

    <li>
<a class="extiw" href="//www.gutenberg.org/ebooks/29390" title="ebook:29390">Astounding Stories of Super-Science April 1930</a>
<a class="image" href="/wiki/File:BookIcon.png"><img alt="BookIcon.png" height="16" src="//www.gutenberg.org/w/images/9/92/BookIcon.png" width="16"/></a>
(English)
</li>

代码如下:

def make_soup(BASE_URL):
r = requests.get(BASE_URL, verify = False)
soup = BeautifulSoup(r.text, 'html.parser')
return soup

def extract_text_urls(html):
soup = make_soup(BASE_URL)

for li in soup.findAll('li'):
try:
try:
print li.a['href'], li.a['title']
print "\n"
except KeyError:
pass
except TypeError:
pass

extract_text_urls(filename)

最佳答案

您应该使用元素的 text 属性。以下对我有用:

def make_soup(BASE_URL):
r = requests.get(BASE_URL)
soup = BeautifulSoup(r.text, 'html.parser')
return soup

def extract_text_urls(html):
soup = make_soup(BASE_URL)

for li in soup.findAll('li'):
try:
try:
print li.a['href'], li.a.text
print "\n"
except KeyError:
pass
except TypeError:
pass

extract_text_urls('http://www.gutenberg.org/wiki/Science_Fiction_(Bookshelf)')

我得到有关元素的以下输出

//www.gutenberg.org/ebooks/29390 super 科学的惊人故事 1930 年 4 月

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com