【发布时间】:2015-04-08 21:24:07
【问题描述】:
- 假设有 N 个网页。
- 每个网页都有一个或多个表格。表的共同点是它们的类是相同的,考虑“table_class”。
- 我们需要每个表的同一列[第三列,标题为标题]下的内容。
- 内容含义,第三列所有行的href链接。
- 有些行可能只是纯文本,有些行中可能包含 href 链接。
您应该在单独的一行中打印每个 href 链接,一个接一个。
使用属性过滤无效,因为某些标签具有不同的属性。单元格的位置是唯一可用的提示。
你是怎么编码的?
考虑网页的这两个链接:
http://en.wikipedia.org/wiki/List_of_Telugu_films_of_2014 http://en.wikipedia.org/wiki/List_of_Telugu_films_of_2013
考虑表格:wikitable
必填内容:列标题的href链接
我为一页尝试的代码:
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()
【问题讨论】:
-
更容易理解的是有一个示例输入 HTML 和所需的输出。
-
我不需要学习你的功课,你不告诉我们你已经做了什么。
-
@alecxe,希望这会有所帮助。
-
@PepperoniPizza 添加。我还有 7 个其他代码,但没有一个能满足我的需要,所以没有添加任何代码。
标签: python html parsing beautifulsoup