gpt4 book ai didi

python - Beautiful Soup findAll 没有找到所有的

转载 作者:行者123 更新时间:2023-11-28 02:32:51 24 4
gpt4 key购买 nike

我正在尝试解析网站并使用 find_all() 获取一些信息方法,但它并没有找到所有的方法。

这是代码:

#!/usr/bin/python3

from bs4 import BeautifulSoup
from urllib.request import urlopen

page = urlopen ("http://mangafox.me/directory/")
# print (page.read ())
soup = BeautifulSoup (page.read ())

manga_img = soup.findAll ('a', {'class' : 'manga_img'}, limit=None)

for manga in manga_img:
print (manga['href'])

它只打印了一半...

最佳答案

不同的 HTML 解析器处理损坏的 HTML 的方式不同。该页面提供损坏的 HTML,lxml 解析器无法很好地处理它:

>>> import requests
>>> from bs4 import BeautifulSoup
>>> r = requests.get('http://mangafox.me/directory/')
>>> soup = BeautifulSoup(r.content, 'lxml')
>>> len(soup.find_all('a', class_='manga_img'))
18

标准库 html.parser这个特定页面的问题较少:

>>> soup = BeautifulSoup(r.content, 'html.parser')
>>> len(soup.find_all('a', class_='manga_img'))
44

使用 urllib 将其转换为您的特定代码示例,您可以这样指定解析器:

soup = BeautifulSoup(page, 'html.parser')  # BeatifulSoup can do the reading

关于python - Beautiful Soup findAll 没有找到所有的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49526147/

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