会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 133672个问题

问题如下:

爬取下一页是,用xpath爬取,没有显示,xpath 写的是对的,不知道错在哪啊了,请老师指点

douluo.py

import scrapy


class DouluoSpider(scrapy.Spider):
    name = 'douluo'
    allowed_domains = ['baidu.com']
    start_urls = ['https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E6%96%97%E7%BD%97%E5%A4%A7%E9%99%86&step_word=&hs=0&pn=0&spn=0&di=83380&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=1017836848%2C1501428868&os=3786179136%2C2901592361&simid=3481113337%2C309418197&adpicid=0&lpn=0&ln=1606&fr=&fmq=1615969790890_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined&copyright=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=https%3A%2F%2Fgimg2.baidu.com%2Fimage_search%2Fsrc%3Dhttp%3A%2F%2Fimage.uc.cn%2Fs%2Fwemedia%2Fs%2Fupload%2F2019%2Fcf7fb507a5b57be658415dc028a11f9c.jpg%26refer%3Dhttp%3A%2F%2Fimage.uc.cn%26app%3D2002%26size%3Df9999%2C10000%26q%3Da80%26n%3D0%26g%3D0n%26fmt%3Djpeg%3Fsec%3D1618564439%26t%3D96bcfc5d23d8645386a36aeedb907c06&fromurl=ippr_z2C%24qAzdH3FAzdH3Fv5g_z%26e3Br6v7sp76j_z%26e3BvgAzdH3FwAzdH3Fgjof-k8ud88aw9k8wmumlv8l9cubjbb0mvvb1_z%26e3Bip4s%3Fpyrj%3D%25El%25la%25AA%25Ec%25AC%25AC%25Ec%25b8%25An%26t1%3Dk8ud88aw9k8wmumlv8l9cubjbb0mvvb1%26f%3D8%26prs%3Dv5gr6v7sp76j&gsm=1&rpstart=0&rpnum=0&islist=&querylist=&force=undefined']

    def parse(self, response):
        image_url = response.xpath('//div[@class="img-wrapper"]/img/@src').extract_first()
        yield {
            'image_urls': [image_url]
        }

        # 提取翻页的链接
        next_url = response.xpath('//span[@class="img-switch-btn"]').extract_first()
        yield scrapy.Request(response.urljoin(next_url),callback=self.parse())

image.png

Python 全系列/第十六阶段:Python 爬虫开发/scrapy 框架高级 23809楼

dabdf434d0cfded23c902413a7e28c1.png

老师我从源代码直接拖进去的,也没有更改和添加新代码就报错了,想问问是怎么回事


Python 全系列/第二阶段:Python 深入与提高/GUI编程(隐藏) 23812楼
JAVA 全系列/第三十阶段:数据结构和算法BATJ大厂面试重难点/线性表 23814楼

image.pngl老师,他这个获取目录及其下面菜单的前端页面是在哪里写的这种能折叠的效果?

我在这边就看到他写了获取数据的js

$(function() {
    var options = {
        code: "menuId",
        parentCode: "parentId",
        uniqueId: "menuId",
        expandAll: false,
        expandFirst: false,
        url: prefix + "/list",
        createUrl: prefix + "/add/{id}",
        updateUrl: prefix + "/edit/{id}",
        removeUrl: prefix + "/remove/{id}",
        modalName: "菜单",
        columns: [{
                  field: 'selectItem', 
                  radio: true
               },
               {
            title: '菜单名称',
            field: 'menuName',
            width: '20%',
            formatter: function(value, row, index) {
                if ($.common.isEmpty(row.icon)) {
                    return row.menuName;
                } else {
                    return '<i class="' + row.icon + '"></i> <span class="nav-label">' + row.menuName + '</span>';
                }
            }
        },
        {
            field: 'orderNum',
            title: '排序',
            width: '10%',
            align: "left"
        },
        {
            field: 'url',
            title: '请求地址',
            width: '15%',
            align: "left"
        },
        {
            title: '类型',
            field: 'menuType',
            width: '10%',
            align: "left",
            formatter: function(value, item, index) {
                if (item.menuType == 'M') {
                    return '<span class="label label-success">目录</span>';
                }
                else if (item.menuType == 'C') {
                    return '<span class="label label-primary">菜单</span>';
                }
                else if (item.menuType == 'F') {
                    return '<span class="label label-warning">按钮</span>';
                }
            }
        },
        {
            field: 'visible',
            title: '可见',
            width: '10%',
            align: "left",
            formatter: function(value, row, index) {
               if (row.menuType == 'F') {
                    return '-';
                }
               return $.table.selectDictLabel(datas, row.visible);
            }
        },
        {
            field: 'perms',
            title: '权限标识',
            width: '15%',
            align: "left",
        },
        {
            title: '操作',
            width: '20%',
            align: "left",
            formatter: function(value, row, index) {
                var actions = [];
                actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.menuId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
                actions.push('<a class="btn btn-info btn-xs ' + addFlag + '" href="javascript:void(0)" onclick="$.operate.add(\'' + row.menuId + '\')"><i class="fa fa-plus"></i>新增</a> ');
                actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.menuId + '\')"><i class="fa fa-trash"></i>删除</a>');
                return actions.join('');
            }
        }]
    };
    $.treeTable.init(options);
});


JAVA 全系列/第十一阶段:智能家居项目(旧)/至尊智能家居第二天 23816楼
Python 全系列/第二阶段:Python 深入与提高/GUI编程(隐藏) 23818楼
JAVA 全系列/第六阶段:项目管理与SSM框架/Spring 23819楼
Python 全系列/第一阶段:Python入门/面向对象 23820楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637