Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 带布尔值的python列表迭代_Python 3.x_Web Scraping_Beautifulsoup_Boolean - Fatal编程技术网

Python 3.x 带布尔值的python列表迭代

Python 3.x 带布尔值的python列表迭代,python-3.x,web-scraping,beautifulsoup,boolean,Python 3.x,Web Scraping,Beautifulsoup,Boolean,我正在通过打开每个链接,然后这里是给我的问题页面。它只有一个'td',只有一个td: class_abbrevs_2 = [x.text for x in subject_page.find_all('td')[1].find_all('a')] 下面是一个普通页面的外观,它有2个“td”: http://registrar.indiana.edu/browser/soc4168/CTIH/index.shtml 有没有人能告诉我,如果这条线路是真的,我该怎么走。我搞不懂语法。如果需要的话

我正在通过打开每个链接,然后这里是给我的问题页面。它只有一个
'td'
,只有一个td:

class_abbrevs_2 = [x.text for x in subject_page.find_all('td')[1].find_all('a')]
下面是一个普通页面的外观,它有2个“td”:

http://registrar.indiana.edu/browser/soc4168/CTIH/index.shtml 

有没有人能告诉我,如果这条线路是真的,我该怎么走。我搞不懂语法。如果需要的话,只需要一点背景知识,我正在使用python和BS4。Lmk,如果有任何其他信息可以帮助。谢谢

如果我从上面的评论中理解正确,我想你就是想要这个

http://registrar.indiana.edu/browser/soc4168/CSCI/index.shtml 

如果我从上面的评论中理解正确,我想你只是想要这个

http://registrar.indiana.edu/browser/soc4168/CSCI/index.shtml 

您可以使用第n个类型来查找第二个td,将代码简化为select:


如果表中没有第二个td,那么它将找不到任何内容,这样您就可以得到一个来自锚的文本列表,或者什么都不需要,这样您就不需要任何其他逻辑来获取数据。

您可以使用第n个类型来查找第二个td,将代码简化为select:


如果表中没有第二个td,那么它将找不到任何内容,这样您就可以得到锚文本列表,或者什么都不需要,这样您就不需要任何其他逻辑来获取数据。

“仅当它为真”仅当元素('td')[1]为真时,或者换句话说,仅当第二个('td')为真时元素存在于htmlwould中,我必须在lambda函数中设置它吗?我认为有一些混淆
..('td')[1]
不是布尔值,对吗?所以这不是真的也不是假的。列表中至少有两个元素,或者没有。如果该元素存在,则它是某种HTML元素,而不是布尔值。看看我的答案,让我知道这是否符合你的要求。我想有更好的方法来获得你想要的东西,你能分享html吗?“如果它是真的”如果元素('td')[1]是真的,或者换句话说,如果第二个('td')元素存在于html中,我必须在lambda函数中设置它吗?我认为有点混淆
..('td')[1]
不是布尔值,对吗?所以这不是真的也不是假的。列表中至少有两个元素,或者没有。如果该元素存在,则它是某种HTML元素,而不是布尔值。看看我的答案,让我知道这是否是你想要的。我想有一个更好的方法来获得你想要的,你能分享html吗?是的,这很有效,是的,我能看到你在说什么。非常感谢。是的,这很有效。是的,我明白你在说什么。非常感谢你。
text = [a.text for a in soup.select("#crsebrowser  td:nth-of-type(2) a")]