首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我试图从某个容器中获取所有链接,但在html中的每个'href‘上都会得到一个"None“的输出

问题描述:

我试图从某个容器中获取所有链接,但在html中的每个'href'上都会得到一个"None"的输出。

回答:

这个问题可能是由于以下几个原因导致的:

  1. 容器中的链接没有正确设置href属性,导致获取到的值为None。请确保每个链接都有正确的href属性,并且属性值不为空。
  2. 容器中的链接是通过JavaScript动态生成的,而不是在HTML中静态定义的。在这种情况下,你需要使用相关的爬虫工具或技术来模拟浏览器行为,以确保获取到动态生成的链接。
  3. 容器中的链接可能被隐藏或者被其他CSS样式所覆盖,导致无法正确获取到链接的href属性。你可以检查相关的CSS样式,确保链接是可见且可点击的。

解决这个问题的方法有以下几种:

  1. 使用合适的HTML解析库,如BeautifulSoup或lxml,来解析HTML文档并获取链接。这些库提供了方便的方法来遍历HTML文档的元素,并获取它们的属性值。
  2. 如果链接是通过JavaScript动态生成的,你可以使用Selenium等工具来模拟浏览器行为,等待页面加载完成后再获取链接。Selenium可以模拟用户在浏览器中的操作,包括执行JavaScript代码。
  3. 如果链接被隐藏或者被其他CSS样式所覆盖,你可以使用相关的CSS选择器来定位链接元素,并获取其href属性。例如,使用类似于".container ahref"的选择器来选择容器中的所有链接元素。

腾讯云相关产品推荐:

如果你需要在云计算环境中进行网页解析和数据提取,可以考虑使用腾讯云的无服务器云函数SCF(Serverless Cloud Function)和云数据库COS(Cloud Object Storage)来实现。无服务器云函数SCF提供了弹性的计算资源,可以用于执行网页解析和数据提取的任务。云数据库COS则提供了高可用性和可扩展性的存储服务,用于存储解析后的数据。

腾讯云无服务器云函数SCF产品介绍:https://cloud.tencent.com/product/scf

腾讯云云数据库COS产品介绍:https://cloud.tencent.com/product/cos

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

零基础学网页开发入门(制作博客案例)适应手机端div+css+js的综合介绍

在浏览器中访问网页,在本质上其实就是访问一个文件。 每个服务器上的网站服务,默认情况下把index为文件名的文件作为一张网页的首页。...html基础结构: html>标签 为一个网页的根标签 标签 为网页的头部,可以存储网页的标题、样式的链接和其它综合配置 标签 为网页的主体,所有网页的内容表现就写在这里...举例自定义标签: 编程创造城市 2.链接标签 标签表示链接 这个标签中的href属性表示链接的目标。 target="_blank" 表示在新的标签中打开链接目标。...所有的html标签其实都是容器。...当attr方法为一个参数的时候,表示获取某个元素的某个属性 $("#mypic").attr("src") 这个结果会返回src中的值 当attr方法为两个参数的时候,表示设置某个元素的某个属性 $("

1.3K30

为什么我们不擅长 CSS

几乎每个全栈或前端工程师的招聘信息都会将精通 HTML、CSS 和 JavaScript 作为必备条件,但在面试求职者时,他们很少会测试 JavaScript 以外的技能。...每当我看到一个 mixin 会对调色板中的每种颜色进行排查,并为每种颜色创建一个背景色实用工具类时,我都会感到恶心。...这样,我们就不需要提供一大堆额外的工具类来支持每个弹性布局属性的所有可能值。 如果开发者遇到需要覆盖默认设置的情况,他们可以通过在样式属性(style attribute)中声明来实现这一点。...因此,我们的 --width 属性实际上是设置了最大宽度,而宽度和高度都设置为自动,由图片的宽高比来决定。为了补偿这一点,我在文本容器中内联添加了一个 align-self: center。...我假设这实际上是一个链接,在这种情况下,我们可以在全局样式中为链接应用 .cool-text-interactive 样式,这样我们就可以直接使用不带类的 。

20210
  • 简单的聊一聊如何用CSS制作一个专业的头部页眉(Headers)

    Space-Between在一个三列的页眉中无法居中 首先,让我们谈谈三列页眉,因为这是我最常见到实现错误的一种情况。... 我将所有链接放在页眉的导航标签中。...我们的中间元素在左侧和右侧元素之间居中对齐,但在页面的上下文中,中间元素并没有真正居中。 这是创建页眉时的第一个挑战:正确设置基本布局。在您确定要实现的布局以及如何实现之前,不要试图添加更多内容。...首先,我使用的选择器过于具体化。这样做是为了使嵌套关系更加清晰。 然后,页眉下的每个元素都是一个弹性容器。这也是不必要的。目前,它仅用于导航的最后一个子元素,以将其子元素移动到右侧。...没什么了不起的。但容器查询的优势在于我们可以为容器指定最小宽度。我们不关心视口有多大,但我们知道:如果我们的容器宽度小于400像素,它会变得非常难看。这是我真正期待被广泛支持的功能之一。

    45210

    五.网络爬虫之BeautifulSoup基础语法万字详解

    其中HTML中包括三个超链接,分别对应杜甫、李商隐、杜牧,而soup.a只返回第一个超链接。那么,如果想获取所有的超链接,怎么写代码实现呢?后面介绍的find_all()函数就可以实现。...find_all(‘a’)函数是查找所有标签,并通过for循环输出结果;第二个for循环是通过“link.get(‘href’)”代码获取超链接标签中的url网址。...同时注意,它返回的内容是所有标签中的第一个符合要求的标签,比如“print soup.a”语句返回第一个超链接标签。 下面这行代码是输出该对象的类型,即Tag对象。...Tag属性操作方法与Python字典相同,获取p标签的所有属性代码如下,得到一个字典类型的值,它获取的是第一个段落p的属性及属性值。...Tag就会无法确定string获取哪个子节点的内容,此时输出的结果就是None,比如获取的内容,返回值就是None,因为包括了两个换行元素。

    2K10

    带你认识 flask 分页

    通过重定向来响应Web表单提交产生的POST请求是一种标准做法。这有助于缓解在Web浏览器中执行刷新命令的烦恼。当你点击刷新键时,所有的网页浏览器都会重新发出最后的请求。...我试图在编写应用每个部分的时候,不做任何有关其他部分如何工作的假设,这使我可以编写更易于扩展和测试的且兼具模块化和健壮性的应用,并且不太可能失败或出现BUG。 来尝试下分页功能吧。...: 上一页的页码 有了这四个元素,我就可以生成上一页和下一页的链接并将其传入模板以渲染: @app.route('/', methods=['GET', 'POST'])@app.route('/index...第二个链接标记为“Older posts”,并指向下一页的帖子。如果这两个链接中的任何一个都是None,则通过条件过滤将其从页面中省略。...我执行该查询并添加一个order_by()子句,以便我首先得到最新的用户动态,然后完全按照我对主页和发现页面中的用户动态所做的那样进行分页。

    2.1K20

    要找房,先用Python做个爬虫看看

    结果将是一些html代码,然后我们将使用这些代码获取我们的表格所需的元素。在决定从每个搜索结果属性中获取什么之后,我们需要一个for循环来打开每个搜索页面并进行抓取。...这听上去很简单,我从哪儿开始? 与大多数项目一样,我们得导入所需模块。我将使用Beautiful Soup来处理我们将要获取的html。始终确保你试图访问的站点允许抓取。...在最后一步中,itertools帮助我从提取第二步中的数字。我们刚刚抓取到了我们的第一个价格!我们想要得到的其他字段是:标题、大小、发布日期、位置、状态、简短描述、房产链接和缩略图链接。...在构建能从每个页面获得所有结果的完美for循环之前,我将在下面给出一些示例。 ? 这些例子应该足够你自己做研究了。我仅从摆弄html结构和操作返回值以得到我想要的东西中就学到了很多。...一旦您熟悉了要提取的字段,并且找到了从每个结果容器中提取所有字段的方法,就可以设置爬虫的基础了。以下列表将被创建来处理我们的数据,稍后将用于组合数据框架。

    1.4K30

    (原创)七夜在线音乐台开发 第三弹 爬虫篇

    上一篇咱们讲到了七夜音乐台的需求和所需要的技术。咱们今天就讲一下爬虫,为什么要讲爬虫,因为音乐台的数据源需要通过爬虫来获取,不可能手动来下载。...我推荐将生成的代码由pycharm打开,进行开发,IDE相对开发快一些。 定义Item   Item 是保存爬取到的数据的容器;其使用方法和python字典类似。...其包含了一个用于下载的初始URL,如何跟进网页中的链接以及如何分析页面中的内容, 提取生成item 的方法。...() 之前提到过,每个 .xpath() 调用返回selector组成的list,因此我们可以拼接更多的 .xpath() 来进一步获取某个节点。...您可以使用标准的字典语法来获取到其每个字段的值。

    1.1K31

    Python 爬虫统计当地所有医院信息

    比如上图中,当我们下拉到 1369 行时看到了第一组目标数据:从莲湖区到高陵县,每个地区前面的 href="链接" 都对应了各地区的链接。...上述过程可以分解为三步: 在最初给定的陕西西安的链接中获取各地区链接 通过每个地区链接,获取该地区每家医院的专页链接 通过医院的专页链接,抓取医院的具体信息 具体的爬虫代码实现规则,则要依赖...print(content.text) 通过 requests.get() 获取到的返回结果与我们在网页上查看源代码大致差不多,下图是我运行代码获取的结果: ?...这里要注意的是,同一地区内所有的医院一个页面可能展示不完,这时要对后续页面进行请求获取。...因为每个地区都会重复这个获取过程,我们可以将该过程写成一个函数: # 给出地区链接 zone_url 和用来存医院链接d额字典 hospital_dict def get_hospital(zone_url

    1.8K20

    四.网络爬虫之入门基础及正则表达式抓取博客案例

    由于findall()函数是获取所有满足该正则表达式的文本,这里只需要输出第一个值title[0]即可。注意,Python3需要转换utf8编码,否则会报错。...在HTML中,href=url>超链接标题用于标识超链接,下面的代码用于获取完整的超链接,同时获取超链接和之间的标题内容。...---- 2.爬取标签中的参数 (1) 抓取超链接标签的url HTML超链接的基本格式为“href=url>链接内容”,现在需要获取其中的url链接地址,方法如下: # coding...假设现在需要爬取的内容如下: 博客网址的标题(title)内容 爬取所有图片的超链接,比如爬取中的“xxx.jpg” 分别爬取博客首页中的四篇文章的标题、超链接及摘要内容...正则表达式爬虫常用于获取字符串中的某些内容,比如提取博客阅读量和评论数的数字,截取URL域名或URL中某个参数,过滤掉特定的字符或检查所获取的数据是否符合某个逻辑,验证URL或日期类型等。

    1.5K10

    五.网络爬虫之BeautifulSoup基础语法万字详解

    那么,如果想获取所有的超链接,怎么写代码实现呢?后面介绍的find_all()函数就可以实现。最后给出输出第一个段落()的代码。...#从文档中找到的所有标签链接 for a in soup.find_all('a'): print(a) #获取的超链接 for link in soup.find_all('a'...find_all('a')函数是查找所有标签,并通过for循环输出结果;第二个for循环是通过“link.get('href')”代码获取超链接标签中的url网址。...同时注意,它返回的内容是所有标签中的第一个符合要求的标签,比如“print soup.a”语句返回第一个超链接标签。 下面这行代码是输出该对象的类型,即Tag对象。...Tag属性操作方法与Python字典相同,获取p标签的所有属性代码如下,得到一个字典类型的值,它获取的是第一个段落p的属性及属性值。

    1.4K01

    用Python抓取在Github上的组织名称

    在本例中,我打算获取用户向Github某个特定组织的提交记录,打开用户自己Github页面,滚动如下图所示的地方。 在你的浏览器上用开发和工具,打开HTML源码,并且找到对应的元素。...提取必要的信息 记住,我们想获得某个用户提交代码的Github上的组织名称,已经得到了包含组织名称的超链接,然而,其中有很多我们不需要的样式类和属性,接下来就要清除它们,利用lxm包(lxml.html.clean.Cleaner...,把我们打算在网站上呈现的Github组织的超链接放到它里面,每次循环到我们抓取到的超链接,就会将其增加到列表中,上面的代码片段,就是把每个组织的超链接追加到列表中。...我们需要的是字符串,不是bs4原酸,要将每个超链接转化为字符串,并且用变量temp_org引用。然后,用re的sub()函数从超链接中提取组织的名称。 现在,得到了所有组织的名称。太棒了!...为了便于后续页面风格的设计,我们增加了一个CSS,相应名称为org。当点击超链接的时候,我想在浏览器中打开一个新的tab,于是设置了target='blank'。

    1.7K20

    《手把手带你学爬虫──初级篇》第3课 Beautiful Soup 4 库讲解

    库它是一个从HTML或者XML文件中提取数据的Python库。...使用它,将极大地简化从网页源码中提取数据的步骤。 一个HTML或者XML文档就是一个标签树,使用bs4后,一个标签树就是一个BeautifulSoup类。..." id="link1">Digital Ocean优惠链接 Beautiful Soup 4 库对HTML格式化输出 也就是让输出的HTML更加好看。...ref=7147564" id="link2">Vultr优惠10美元链接] # 查找所有p标签中,id='link1'的a标签,返回列表,由于p标签没有带id='link1'的,所有列表中没有元素...id="link1">Elsie] .get_text()方法,如果只想得到tag中包含的文本内容,那么可以调用这个方法,获取到tag中包含的所有文本内容,包括子孙tag中的内容,并将结果作为

    2.6K44

    使用scikitlearn、NLTK、Docker、Flask和Heroku构建食谱推荐API

    在谷歌上快速搜索后,我找到了一个维基百科页面,里面有一个标准烹饪指标的列表,比如丁香、克(g)、茶匙等等。在我的配料分析器中删除所有这些词效果非常好。 我们还想从我们的成分中去掉停用词。...当我们试图从配料表中删除这些“垃圾”词时,如果同一个词有不同的变体,会发生什么情况? 如果我们想去掉“pound”这个词的每一个出现,但是食谱中的配料却写着“pounds”怎么办?...在进行NLP时,最基本的模型之一就是词袋。这就需要创建一个巨大的稀疏矩阵来存储我们语料库中所有单词对应的数量(所有文档,即每个食谱的所有成分)。...例如,如果用户输入了大量的配料,而只有前半部分与食谱匹配,理论上,我们仍然应该得到一个很好的食谱匹配。在余弦相似性中,角度越小,余弦相似度越高:所以我们试图最大化这个分数。...,我们现在要做的就是(假设你已经下载了docker容器): docker run -p 5000:5000 -d whatscooking:api 如果你想亲自检查容器,这里有一个链接到我的Docker

    1.1K10

    用BeautifulSoup来煲美味的汤

    BeautifulSoup的对象种类 Beautiful Soup实质是将复杂的HTML文档转换成一个复杂的树形结构(因为HTML本身就是DOM),然后每个节点都是Python对象,通过分析可以把所有对象分成...我们可以仿照Python中操作字典那样通过key来获取value的值的方法,来获取tag的每个属性对应的值: tag['class'] >>> 'good' 当然你也是可以通过tag.attrs来获取所有属性...NavigableString 类型的子节点情况,如果这个tag里面有多个节点,那就不行了,因为tag无法确定该调用哪个节点,就会出现下面这种输出None的情况: print(soup.html.string...) >>> None 需要说明的是,如果tag中包含多个字符串,我们可以使用 .strings 来循环获取。...现在有一个问题了,你上面介绍的都是如何遍历各个节点,可是有时候我不需要你进行遍历全部,那样会增加运行时间,我只需要提取我需要的那部分即可,所以我们就可以搜索文档,直接输出满意的结果就行。

    1.8K30

    ​Python爬虫-BeautifulSoup详解

    作者:一叶 介绍:放不下灵魂的搬砖者 全文共3929字,阅读全文需15分钟 Python版本3.8.0,开发工具:Pycharm 上一节我们已经可以获取到网页内容,但是获取到的却是一长串的 html...story 注:通过标签名只能查找到所有内容中第一个符合要求的标签 每个 tag 都有自己的 name,一个 tag 也会有多个属性 attrs 。...# The Dormouse's story 如果当前 tag下有不止一个标签,则会返回 None print(soup.html.string) # 输出:None 那么当前 tag下有多个标签...(2)父节点 通过.parent 得到一个父节点,.parents 得到所有父节点 使用.parent 得到一个父节点 # 定位当前节点到title current_tag = soup.head.title...Python系列 Python系列会持续更新,从基础入门到进阶技巧,从编程语法到项目实战。若您在阅读的过程中发现文章存在错误,烦请指正,非常感谢;若您在阅读的过程中能有所收获,欢迎一起分享交流。

    1.5K30

    CSS基础

    继承是一种机制,它允许样式不仅可以应用于某个特定的元素,还可以应用于它的后代。例如一个BODY定义了的颜色值也会应用到段落的文本中。...只要一次,让我解决所有困难,我愿终身奉献,专心侍奉您……”就在这时,圣坛上发出一阵宏伟庄严的声 音:“我一直垂听你的祷告。可是最起码?你也该先去买一张彩票吧!”...display:none可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。...假如某个div元素A是浮动的,如果A元素上一个元素也是浮动的,那么A元素会跟随在上一个元素的后边(如果一行放不下这两个元素,那么A元素会被挤到下一行);如果A元素上一个元素是标准流中的元素,那么A的相对垂直位置不会改变...因为它原本所占的空间仍然占据文档流。        在理论上,被设置为fixed的元素会被定位于浏览器窗口的一个指定坐标,不论窗口是否滚动,它都会固定在这个位置。 示例代码: <!

    2.1K70

    Python爬虫学习笔记之爬虫基础库

    id="link3") # href="http://example.com/tillie" id="link3">Tillie 从文档中找到所有标签的链接...://example.com/lacie # http://example.com/tillie 从文档中获取所有文字内容: print(soup.get_text()) 如何使用 将一段文档传入...对象的种类 Beautiful Soup将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,所有对象可以归纳为种 Tag , NavigableString , BeautifulSoup...href="http://example.com/elsie" id="link1">Elsie 如果想要得到所有的标签,或是通过名字得到比一个tag更多的内容的时候,就需要用到 Searching...tag或字符串都有父节点:被包含在某个tag中 .parent 通过 .parent 属性来获取某个元素的父节点.在例子“爱丽丝”的文档中,标签是标签的父节点: title_tag

    1.8K20

    useLayoutEffect的秘密

    如果,容器不能容纳这些组件,那么它会在容器的右侧显示一个“更多”按钮,点击后会显示一个下拉菜单,其中包含剩余未展示的子项目 让我们先从简单的逻辑入手,先创建一个简单的导航组件,它将呈现一个链接列表:(直接遍历...要想实现响应式,我们需要计算「可用空间」中可以容纳多少个项目。为此,我们需要知道容器的宽度以及每个项目的尺寸。...然后,每个定时器都将被视为一个新的任务。因此,浏览器将能够在完成一个任务之后并在开始下一个任务之前重新绘制屏幕。我们将能够看到从红到绿再到黑的缓慢的过渡,而不是在白屏上停留三秒钟。...然后,React 遍历应用中的所有组件,“渲染”它们(即调用它们的函数,它们毕竟只是函数),然后生成这些组件表示的 HTML。...然后,将此 HTML 注入要发送到浏览器的页面中,「一切都在服务器上生成」。

    29110
    领券