Unjx. 2021-06-30 14:11 采纳率: 84.6%
浏览 26
已采纳

Python的BeautifulSoup的select解释

img

#encoding='utf-8'
import requests
from bs4 import BeautifulSoup
url = 'https://pic.netbian.com/e/search/result/?searchid=49'
page=requests.get(url)
soup = BeautifulSoup(page.text,features="html.parser")
 
#//dom节点位置
data = soup.select('html>body>div.class.wrap clearfix>div.id.main>div.class.slist>ul.class.clearfix>li>a')
 
#//转化html为节点内容
for i in data:
    result={
        'alt':i.get_text(),
        'link':i.get('href')
    }
    print(result)

我看不懂这段代码,求解释

  • 写回答

2条回答 默认 最新

  • 赛里木samuel 2021-06-30 14:20
    关注

    这里的意思应该是选择某一个无序列表“li”下的所有a元素节点

    data = soup.select('html>body>div.class.wrap clearfix>div.id.main>div.class.slist>ul.class.clearfix>li>a')
    

    这一句返回的data是一个包含li下面所有a节点的一个list 然后

    for i in data:
        result={
            'alt':i.get_text(),
            'link':i.get('href')
        }
        print(result)
    

    对这个list进行遍历,对每一个a节点都以字典的形式输出这个节点的text和对应的href链接,后一个节点的数据会覆盖掉前一个节点,每次输出的是当前这个节点的数据 假如data这个list有n个元素,这个print就会执行n次

    请问题主的核心问题是哪一块呢?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题