【发布时间】:2015-05-12 10:04:29
【问题描述】:
我正在尝试编写一个网络蜘蛛来收集一些链接和文本。 我有一张我正在使用的表格,每行的第二个单元格中有一个数字,我要做的就是获取该数字,如果它是我需要的,然后获取单元格 2 和 4 中的链接和文本。
一切正常,只是我似乎无法将单元格中的数字与我拥有的数字列表进行比较。
我使用单元格[1].get_text() 获取数字(我为每一行创建一个所有单元格的列表),这工作正常并且 type() 返回'class'str'',我还确保将我的数字列表转换为字符串。
但是当我尝试比较它们时,它总是返回'False'
import bs4
file = open(r"some html file", 'rb')
rng_lst = [str(x) for x in range(5, 43)]
soup = bs4.BeautifulSoup(file)
table = soup.findAll('table')[0]
for row in table.findAll('tr'):
cells = row.findAll('td')
if len(cells) >= 6:
check = cells[1].get_text()
for n in rng_lst:
if n == check:
# do stuff
我已经尝试了所有我能想到的方法,但我总是得到 'False',使用 == 或 'is' 不起作用,如果我尝试使用 'in' 它确实有效,但如果我需要 5 号单元格我也可以得到 15 或 25。
【问题讨论】:
-
抱歉无法发布 html,因为它与工作相关。
标签: python python-3.x beautifulsoup