我正在编写一个简单的程序来从旅游网站上删除航班数据。
当我在python解释器中测试它时,它工作正常。但是,当我将其作为.py文件运行时,它将返回一个空列表。
我知道程序能够从网站上获取数据,因为我可以打印整个源码没问题。但是,由于某种原因,find_all
方法返回一个空列表。
应该工作的部分:
import urllib2
from bs4 import BeautifulSoup
raw_page_data = urllib2.urlopen(query_url)
soup = BeautifulSoup(raw_page_data, 'html.parser')
raw_prices = soup.find_all(class_='price-whole')
for item in raw_prices:
for character in item:
if character.isdigit() == True:
print character
通常,在解释器中,这将返回价格列表。我根本无法打印raw_prices,因为它是空的。我认为错误是使用find_all
方法,因为输出是[]。
我被告知,或许,网站上的JavaScript没有加载我想要找到的元素。但是,由于整个页面源已加载并且可打印,因此这没有任何意义。如果我尝试print soup
,
它打印整个源(包含我想要找到的元素)。
我也试过不同的解析器,检查是否有错误。
任何帮助都非常感谢欢呼!