不同的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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)