首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在一组表格下选择一组特定的单元格,使用python和漂亮汤

在一组表格下选择一组特定的单元格,使用python和漂亮汤
EN

Stack Overflow用户
提问于 2015-04-09 05:24:07
回答 1查看 169关注 0票数 1
  1. 考虑有N个网页。
  2. 每个网页都有一个或多个表。表的共同点是它们的类是相同的,考虑到"table_class."
  3. We需要同一列下的内容第三列,标题是每个table.
  4. Contents的标题意思,第三列中的href链接来自所有行。
  5. 一些行可能只是纯文本,而有些行可能有href链接。
  6. 您应该将每个href链接逐个打印在单独的行中。使用属性进行筛选的
  7. 无效,因为某些标记具有不同的属性。单元格的位置是唯一可用的提示。

你如何对此进行编码?

考虑以下两个web页面的链接:

http://en.wikipedia.org/wiki/List_of_Telugu_films_of_2014 http://en.wikipedia.org/wiki/List_of_Telugu_films_of_2013

考虑下表: wikitable

必填内容:列标题的href链接

我在一个页面上尝试过的代码:

代码语言:javascript
复制
from urllib.request import urlopen
from bs4 import BeautifulSoup, SoupStrainer


content = urlopen("http://en.wikipedia.org/wiki/List_of_Telugu_films_of_2015").read()  
filter_tag = SoupStrainer("table", {"class":"wikitable"})
soup = BeautifulSoup(content, parse_only=filter_tag)

for sp in soup.find_all('tr'):
    for bt in sp.find_all('td'):
        for link in bt.find_all('a'):
            print(link.get("href"))
    print()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-09 05:34:19

其思想是使用wikitable类遍历每个table;对于每个table,直接在i标记中查找链接,直接在td中查找链接,在tr中查找链接

代码语言:javascript
复制
import requests
from bs4 import BeautifulSoup

url = "http://en.wikipedia.org/wiki/List_of_Telugu_films_of_2014"
soup = BeautifulSoup(requests.get(url).content)

# iterate over tables
for table in soup.select('table.wikitable.sortable'):
    # get the table header/description, continue if not found
    h3 = table.find_previous_sibling('h3')
    if h3 is None:
        continue
    print h3.text

    # get the links
    for link in table.select('tr > td > i > a'):
        print link.text, "|", link.get('href', '')

    print "------"

打印(为了清晰起见,还要打印表格名称):

代码语言:javascript
复制
January 2014–june 2014[edit]
Celebrity | /wiki/Celebrity
Kshatriya | /wiki/Kshatriya
1: Nenokkadine | /wiki/1:_Nenokkadine
...
Oohalu Gusagusalade | /wiki/Oohalu_Gusagusalade
Autonagar Surya | /wiki/Autonagar_Surya
------
July 2014 – December 2014[edit]
...
O Manishi Katha | /wiki/O_Manishi_Katha
Mukunda | /wiki/Mukunda
Chinnadana Nee Kosam | /wiki/Chinnadana_Nee_Kosam
------
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29525613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档