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

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

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

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

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

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

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

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

代码:

代码语言:javascript
运行
AI代码解释
复制
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 12:51:37

我的解决方案是:

代码语言:javascript
运行
AI代码解释
复制
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 12:51:49

另一种解决方案

代码语言:javascript
运行
AI代码解释
复制
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

复制
相关文章
使用BeautifulSoup解析豆瓣网站的HTML内容并查找图片链接
爬取豆瓣网图片的用途广泛。首先,对于雕塑和学者来说,爬取豆瓣图片可以用于文化研究、社会分析等领域。通过分析用户上传的图片,可以了解不同文化背景下的审美趋势和文化偏好,为相关研究提供数据支持。
小白学大数据
2023/10/23
3670
如何利用BeautifulSoup库查找HTML上的内容
比如我们在http://python123.io/ws/demo.html这个简单的网页中找到与a和b标签相关的内容。
小Bob来啦
2021/03/10
2K0
如何利用BeautifulSoup库查找HTML上的内容
python 中如何查找列表长度
In this article, we will be unveiling techniques to find the length of a Python list. Finding the length actually means fetching the count of data elements in an iterable.
用户8418197
2022/01/09
2.7K0
使用Python,OpenCV的Meanshift 和 Camshift 算法来查找和跟踪视频中的对象
这篇博客将介绍如何使用 Meanshift 和 Camshift 算法来查找和跟踪视频中的对象。
玖柒的小窝
2021/10/25
1.3K0
使用Python,OpenCV的Meanshift 和 Camshift 算法来查找和跟踪视频中的对象
html中超链接使用_HTML超链接代码
html超链接的写法是e69da5e6ba903231313335323631343130323136353331333431353431使用a标签,如:百度一下,你就知道。
全栈程序员站长
2022/09/18
1.2K0
LeetCode 2099. 找到和最大的长度为 K 的子序列
给你一个整数数组 nums 和一个整数 k 。 你需要找到 nums 中长度为 k 的 子序列 ,且这个子序列的 和最大 。
Michael阿明
2022/01/07
1.2K0
html中超链接使用_html中的a标签,超链接代码的详细介绍「建议收藏」
欢迎关注支持,谢谢!今天为大家介绍的是超链接代码a标签的用法,大家有兴趣的话可以看看哟!
全栈程序员站长
2022/09/14
3.1K0
Python使用BeautifulSoup4进行HTML解析
Beautifulsoup4 导入模组 from bs4 import BeautifulSoup import requests as req Beautifulsoup4 美化 HTML 代码 # 设定网址 url = "https://k5l.cn/" # 获取网页html r = req.get(url) # 导入 html 进入 beautifulsoup4 soup = BeautifulSoup(r.text, features="html.parser") # 美化 html 代码
文曦
2022/06/09
8370
html 中 a 链接的 download 属性的神奇使用
本文介绍了html中a链接的download属性的神奇使用,可以强制浏览器下载文件,并且支持重命名文件。对于需要下载服务端文件,而不需要浏览器打开的情况,这个属性非常有用。
FungLeo
2018/01/08
1.8K0
Python 中字符串的最大长度是多少?
Python 中支持的字符串的最大长度取决于系统上可用的内存量以及正在使用的 Python 版本的实现限制。在 Python 的默认实现(即 CPython)中,字符串作为字符数组存储在内存中,最大长度限制为 2⁶³ - 1 字节,即近 9 万 TB。但是,由于 CPython 实现字符串的方式,此限制可能会有所不同,具体取决于字符串包含的字符。
很酷的站长
2023/08/11
7830
Python 中字符串的最大长度是多少?
HTML中的超链接
本文主要介绍了超链接的概念以及其在网页中的应用,包括http链接、本地链接、ftp链接和邮箱链接等,并重点讲解了锚点的定义和用法。
IT可乐
2018/01/04
4.2K0
最大子序列的和_子序列和最大值
https://leetcode-cn.com/problems/maximum-subarray/description/
全栈程序员站长
2022/08/03
3480
最大子序列的和_子序列和最大值
递归求最大子串序列长度
递归求最大子串序列长度 import java.util.Scanner; /** * Created by junyi.pc on 2017/1/25. */ //求两个字符串最长子序列的长度 // 比如abcde 的子序列是a或ab或ad或abcd不一定要连续 public class Main { public static int f(String a,String b){ if(a.length()==0||b.length()==0) return
张俊怡
2018/04/24
1.9K0
Python3中BeautifulSoup的使用方法
崔庆才,Python技术控,爬虫博文访问量已过百万。喜欢钻研,热爱生活,乐于分享。个人博客:静觅 | http://cuiqingcai.com/
生信宝典
2018/12/29
3.7K0
Python3中BeautifulSoup的使用方法
我们学习了正则表达式的相关用法,但是一旦正则写的有问题,可能得到的就不是我们想要的结果了,而且对于一个网页来说,都有一定的特殊的结构和层级关系,而且很多标签都有id或class来对作区分,所以我们借助于它们的结构和属性来提取不也是可以的吗?
小小科
2019/07/04
3.1K0
Java中的字符串的最大长度
看String的源码可以看出来,String实际存储数据的是char value[],数组的长度是int类型,
用户8554325
2023/03/10
3.8K0
Java中的字符串的最大长度
Python爬虫库-BeautifulSoup的使用
Beautiful Soup是一个可以从HTML或XML文件中提取数据的Python库,简单来说,它能将HTML的标签文件解析成树形结构,然后方便地获取到指定标签的对应属性。
小小科
2018/07/31
2.1K0
Python爬虫库-BeautifulSoup的使用
Python爬虫库-BeautifulSoup的使用
Beautiful Soup是一个可以从HTML或XML文件中提取数据的Python库,简单来说,它能将HTML的标签文件解析成树形结构,然后方便地获取到指定标签的对应属性。
IT派
2018/08/10
1.8K0
Python爬虫库-BeautifulSoup的使用
使用Python和BeautifulSoup抓取亚马逊的商品信息
Beautiful Soup 是一个 Python 库,可让您轻松地从 HTML 页面中提取数据。它可以使用各种解析器解析 HTML,例如内置的 Python 解析器、lxml 或 html5lib。 Beautiful Soup 可以帮助您通过标签、属性或文本内容找到特定元素。您还可以使用 .parent、.children 或 .next_sibling 等方法导航 HTML 树结构。 Beautiful Soup 对于网络抓取很有用,因为它可以获取 URL 的内容,然后解析它以提取您需要的信息。例如,您可以使用 Beautiful Soup 从亚马逊网站上抓取商品的标题、价格等信息。
jackcode
2023/05/31
1.6K0
使用Python和BeautifulSoup抓取亚马逊的商品信息
webservice最大长度_网址最大长度
HTTP GET请求的最大长度是多少? 是否定义了一个响应错误,如果服务器收到超过此长度的GET请求,服务器可以/应该返回该错误?
全栈程序员站长
2022/09/23
3.2K0
webservice最大长度_网址最大长度

相似问题

使用BeautifulSoup和Python在YouTube上查找链接

216

使用beautifulsoup4查找html标记中的链接

13

Python,使用list,找到最大序列长度

511

BeautifulSoup - Python -从HTML中查找密钥

15

使用BeautifulSoup获取html中的链接

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文