美文网首页
2019-03-21爬了一下午的坑之兄弟节点选择

2019-03-21爬了一下午的坑之兄弟节点选择

作者: spiderzzZ | 来源:发表于2019-03-21 20:29 被阅读0次

如图,想要获得加深部分的链接,因此可以先得到所有class=movie-poster的div节点,再遍历所有该节点,并从中找出目标链接:

1.得到div节点:divs = soup.find_all("div",class_="movie-poster")

2.从兄弟节点中找到第二个img节点。由于第一个节点存在class,而第二个节点没有,所以无法通过class方法找到第二个img。兄弟节点用法:

for div in divs:

link = div.img.next_sibling.next_sibling

print(link)

表示div节点下的img节点后面的第二个节点,注意:不是第二个img节点而是从第一个img节点开始数后面的第二个节点。。。。。。如果只要一个next_sibling则会得到一个NONE。爬了一下午的坑。。。。。

-------------------------------------------------------------------------------------------------------

更新:巨大的发现,将标签选择变成一件非常简单的事情!!!!:,

如图,想要同时得到图片的链接和电影的名称,可以看到,链接(加深)与电影名称(浅深)不在同一个标签中,所以想要使他们在同一次遍历中出现,需要找到他们同时存在的上级标签,可以看到是dd标签。因此先找出所有的dd标签,之后在遍历所以的dd标签,并每次遍历都从中选出需要的节点内容,就可以实现图片与电影名同时出现。如下:

#1.得到链接与电影名称:

dds = soup.find_all("dd")

for dd in dds:

    links = dd.div.a.div.img.next_sibling.next_sibling.get("data-src")

    titles = dd.div.next_sibling.next_sibling.get("title")

    response = requests.get(link)

    img = response.content

#2.文件读写:

    path = r'C:\Users\11923\Desktop\新建文件夹 1/%s.jpg'%(titles)

    with open(path,'wb') as f:

    f.write(img)

注意看黑体字:在得到了dd标签之后,想要获得他下属的任意一个标签,可以通过点点点.....的方式定位到该标签。如果出现兄弟节点,可以使用next_sibling的方式来得到。并且可以直接.get(“属性”),来得到该属性的值。

总结一下:通过soup.find_all(“标签名”),来得到想要的最大的标签,之后可以在遍历中(for   in)通过.....来得到想要的小标签,然后直接.get就可以得到想要的属性的值,或者.string得到想要的标签的内容。

这样一来,我就可以迅速的得到我想要的任何值!!!!!nice

相关文章

  • 2019-03-21爬了一下午的坑之兄弟节点选择

    如图,想要获得加深部分的链接,因此可以先得到所有class=movie-poster的div节点,再遍历所有该节点...

  • hover一个div另一个div移动

    使用animation 若结构是兄弟节点,则通过+的方式选择兄弟节点若结构是父子节点,直接通过空格+选择器的形式实...

  • android studio3.0 我的爬坑之路

    最近很多开发的兄弟都在爬as3.0的坑。对,我也觉得很坑!我这次装的是3.0.1版本的 下面我分享下我的爬坑过程,...

  • JS 深度优先遍历(DFS)和广度优先遍历(BFS)

    深度优先遍历DFS 自定义:深度单线游走,从根走完最后一个节点,在游走兄弟节点,走完兄弟的所有子节点,循环之。 ...

  • 微信小程序爬坑日记

    新公司上手小程序。30天,从入门到现在,还没放弃。。。 虽然小程序发布出来快一年了,爬坑的兄弟们大多把坑都踩平了。...

  • 无标题文章

    子元素选择器 +兄弟选择器 ~通用兄弟节点选择器p~b [ ]通用选择器 [id]附带id属性的 div[ id]...

  • iOS 之仿微信添加地址(腾讯地图爬坑)

    iOS 之仿微信添加地址(腾讯地图爬坑)

  • 4.树

    树的基本概念 节点、根节点、父节点、子节点、兄弟节点(同层节点不一定是兄弟节点,兄弟节点必须有同一个父节点) 空树...

  • 元素选择器

    子元素选择器+兄弟选择器通用兄弟节点选择器pb[ ]通用选择器[id]附带id属性的div[ id]div中具有[...

  • 我拉起我的兄弟

    夕阳放下来 他的衣服像藤蔓一样褪下去 我拉起我的兄弟 一个坑一个坑 用力啊! 太阳没有了 他的衣服又爬回来 我的胳...

网友评论

      本文标题:2019-03-21爬了一下午的坑之兄弟节点选择

      本文链接:https://www.haomeiwen.com/subject/jjhhvqtx.html