美丽的汤findAll没有find他们全部

我试图parsing一个网站,并获取与BeautifulSoup.findAll一些信息,但它没有find他们..我使用python3

代码是这样的

#!/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']) 

它只打印他们的一半…

不同的HTMLparsing器处理不同的HTML错误。 该页面提供了错误的HTML,而且lxmlparsing器不能很好地处理它:

 >>> import requests >>> from bs4 import BeautifulSoup >>> r = requests.get('http://mangafox.me/directory/') >>> soup = BeautifulSoup(r.text, 'lxml') >>> len(soup.findAll('a', {'class' : 'manga_img'})) 18 

标准的库html.parser对这个特定的页面没有什么问题:

 >>> soup = BeautifulSoup(r.text, 'html.parser') >>> len(soup.findAll('a', {'class' : 'manga_img'})) 44 

使用urllib将其转换为您的特定代码示例,您将指定parsing器:

 soup = BeautifulSoup(page.read(), 'html.parser')