小编Mar*_*nts的帖子

在元组列表中找到精确的元组匹配并返回其索引

我试图弄清楚如何确定元组是否在元组列表中具有完全匹配,如果是,则返回匹配元组的索引.例如,如果我有:

TupList = [('ABC D','235'),('EFG H','462')]
Run Code Online (Sandbox Code Playgroud)

我希望能够获取任何元组('XXXX','YYYY')并查看它是否在TupList中具有完全匹配,如果是,则其索引是什么.因此,例如,如果元组('XXXX','YYYY') = (u'EFG H',u'462')完全正确,那么代码将返回1.

我也不想允许元组('EFG', '462')(基本上是任何元组元素的子字符串)匹配.

python beautifulsoup python-2.7

10
推荐指数
1
解决办法
4936
查看次数

Beautifulsoup 无法找到名称中带有连字符的类

我在运行 Python 2.7.8 的 MacOSX 上使用 BeautifulSoup4。我很难从以下 html 代码中提取信息

 <tbody tabindex="0" class="yui-dt-data" id="yui_3_5_0_1_1408418470185_1650">
      <tr id="yui-rec0" class="yui-dt-first yui-dt-even">
           <td headers="yui-dt0-th-rank" class="rank yui-dt0-col-rank"></td>
           </tr>
      <tr id="yui-rec1" class="yui-dt-odd">...</tr>
      <tr id="yui-rec2" class="yui-dt-even">...</tr>
 </tbody>
Run Code Online (Sandbox Code Playgroud)

我似乎无法获取表格或其中的任何内容,因为 BS 和/或 python 似乎无法识别带有连字符的值。所以通常的代码,就像

 Table = soup.find('tbody',{'class':'yui-dt-data'})
Run Code Online (Sandbox Code Playgroud)

或者

 Row2 = Table.find('tr',{'id':'yui-rec2'})
Run Code Online (Sandbox Code Playgroud)

只返回一个空对象(不是 NONE,只是空)。我对 BS4 或 Python 并不陌生,我之前已经从这个网站提取过信息,但现在的类名与我以前提取时不同。现在一切都有连字符。有没有办法让 Python 识别连字符或解决方法?

我需要使我的代码具有通用性,以便我可以在多个具有相同类名的页面上运行它。不幸的是,id中的属性<tbody>对于该特定表来说是唯一的,因此我无法使用它来跨网页识别该表。

任何帮助,将不胜感激。提前致谢。

python beautifulsoup html-parsing web-scraping python-2.7

5
推荐指数
2
解决办法
4882
查看次数