美丽的汤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,而且lxml
parsing器不能很好地处理它:
>>> 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')