Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何提取嵌套在多个分割元素中的锚元素_Python_Html_Web Scraping_Beautifulsoup_Css Selectors - Fatal编程技术网

Python 如何提取嵌套在多个分割元素中的锚元素

Python 如何提取嵌套在多个分割元素中的锚元素,python,html,web-scraping,beautifulsoup,css-selectors,Python,Html,Web Scraping,Beautifulsoup,Css Selectors,我试图从漂亮的soup对象中提取锚元素,每个锚元素都有一个嵌套在多个分区中的公共类attr。这些划分是重复的,并用一些脚本分开 我试图利用锚元素中的公共类属性来提取它们 我得到的密码是: <div id='container'> <div class='nested'> <a href='some url' class='link'> </a> </div> </div> #some scripts .... <d

我试图从漂亮的soup对象中提取锚元素,每个锚元素都有一个嵌套在多个分区中的公共类attr。这些划分是重复的,并用一些脚本分开

我试图利用锚元素中的公共类属性来提取它们

我得到的密码是:

<div id='container'>
<div class='nested'>
<a href='some url' class='link'>
</a>
</div>
</div>

#some scripts ....

<div id='container'>
<div class='nested'>
<a href='some url' class='link'>
</a>
</div>
</div>

没有打开任何选项卡。打印链接提供了一个空白列表

替换您的行代码:

links=soup.select('.link a')

O/p:


.link a
将执行所有子
a
标记,其中父类具有类
link
。之间的空格实际上是a,这意味着lhs是父对象,rhs是子对象。删除要应用于同一元素的空间。请注意,您需要从匹配的标记中提取href属性

links = [item['href'] for item in soup.select('a.link')]
如果需要按类指定父div,则

.nested a.link
或者更简单地说

.nested .link

我是这个网站的新手,希望你喜欢它的格式;)。已经学习格式化技能一段时间了,但是它们嵌套在分区中,这样行吗?@JadAH
find_all()
method返回
a
标记的列表,该标记具有
link
classi使用了打印(links)它确实给了我这些锚元素的完整列表,但是我的webbrowser函数似乎没有打开它们。这是正确的,我从print(链接)中得到了这样一个输出但我的最后一行代码应该从这些锚元素中获取href并打开相应的选项卡,但我的webbrowser.open函数将打开指向范围(0,5):webbrowser.open(links[i].get('href')内的初始url类型infor i的选项卡感谢您扩展我的视野XD div.nested>a.link是否也这样做?当然,这更易于使用,但澄清这一点会非常有帮助。对于我应该在发布的问题中搜索的麻烦,此网站是最好的XD抱歉
for link in links:
  href = link['href']
  print(href)
links = [item['href'] for item in soup.select('a.link')]
.nested a.link
.nested .link