首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用beautifulSoup和python来查找html中链接的最大序列的长度?

使用beautifulSoup和python来查找html中链接的最大序列的长度?
EN

Stack Overflow用户
提问于 2018-09-12 16:44:19
回答 2查看 720关注 0票数 1

我的任务是找到文章<div id="bodyContent">的正文,并在其中计算链接的最大序列的长度,在这些链接之间没有其他打开或关闭的标记。例如:

代码语言:javascript
运行
复制
<p>
    <span><a></a></span>
    **<a></a>
    <a></a>**
</p>

  • 一行中有2个链接,因为关闭跨度会中断序列。

代码语言:javascript
运行
复制
 <p>
    **<a><span></span></a>
    <a></a>
    <a></a>**
</p

  • 和3个子系列的链接,因为跨度是在链接内部,而不是链接之间。为了解决这个问题,我使用了漂亮的汤和蟒蛇。

代码:

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

html = requests.get('https://en.wikipedia.org/wiki/Stone_Age')
soup = BeautifulSoup(html.text, "lxml")
body = soup.find(id="bodyContent")

# get first link
first_link = body.a

# find all links that are in the same level
first_link.find_next_siblings('a')

如何转到以下链接?

诚挚的问候!

EN

回答 2

Stack Overflow用户

发布于 2018-09-15 20:51:37

我的解决方案是:

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

html = requests.get('https://en.wikipedia.org/wiki/Stone_Age')
soup = BeautifulSoup(html.text, "lxml")
body = soup.find(id="bodyContent")

tag = body.find_next("a")
linkslen = -1
while (tag):
    curlen = 1
    for tag in tag.find_next_siblings():
        if tag.name != 'a':
            break
        curlen += 1
    if curlen > linkslen:
         linkslen = curlen
     tag = tag.find_next("a")
 print(linkslen)
票数 0
EN

Stack Overflow用户

发布于 2020-08-07 20:51:49

另一种解决方案

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

html = requests.get('https://en.wikipedia.org/wiki/Stone_Age')
soup = BeautifulSoup(html.text, "lxml")
body = soup.find(id="bodyContent")
all_links = body.find_all('a')
sequence = 0
for link in all_links:
    len = 1
    for l in link.find_next_siblings():
        if l.name != 'a':
            break
        len += 1
    sequence = max(sequence, len)
print(sequence)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52291029

复制
相关文章

相似问题

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