吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 770|回复: 7
收起左侧

[求助] scrapy 重定向困惑?

[复制链接]
double07 发表于 2021-4-6 21:20
本帖最后由 double07 于 2021-4-6 21:29 编辑

[Python] 纯文本查看 复制代码
import random
import time

import scrapy
from job.items import JobItem  # 导入items中招聘各标签的建模


class LiepinSpider(scrapy.Spider):
    name = 'liepin'
    # 2.检查allowed_domains
    allowed_domains = ['www.liepin.com']
    # 1.修改URL
    start_urls = [
        'https://www.liepin.com/zhaopin/?compkind=&dqs=&pubTime=3&pageSize=40&salary=30%24&compTag=&sortFlag=15°radeFlag=0&compIds=&subIndustry=&jobKind=&industries=200&compscale=&key=分析&curPage=0']


    def parse(self, response):
        # 提取数据
        # 获取所有职位节点列表

        node_list = response.xpath('//ul[@class="sojob-list"]/li')
        # 遍历节点列表
        for node in node_list:
            item = JobItem()
            item['name'] = node.xpath('./div/div[1]/h3/a/text()').extract_first().strip()
            item['company'] = node.xpath('./div/div[2]/p[1]/a/text()').extract_first().strip()
            item['address'] = node.xpath('.//*[@class="area"]/text()').extract_first().strip()
            item['salary'] = node.xpath('./div/div[1]/p[1]/span[1]/text()').extract_first().strip()
            item['date'] = node.xpath('./div/div[1]/p[2]/time/text()').extract_first().strip()
            item['link'] = node.xpath("./div/div/h3/a/@href").extract_first().strip()
            if 'https://www.liepin.com' not in node_list:
                item['link'] = response.urljoin(node.xpath("./div/div/h3/a/@href").extract_first().strip())
            else:
                item['link'] = node.xpath("./div/div/h3/a/@href").extract_first().strip()
            yield item

            # 构建详情页面请求
#yield scrapy.Request(
#url=item['link'],
#callback=self.parse_detail,
#dont_filter=True,
#meta={'item': item}
#)


#def parse_detail(self, response):
#item = response.meta['item']
#item['duty'] = response.xpath('//div[@class="content content-word"]/text()').extract()
#print(item)


把上述代码37-49行注释掉,运行代码正常,去掉注释,就出现下列错误提示:
微信截图_20210406212306.png

方法试过很多,没办法解决,请大佬指点。主要目的是把两个页面的数据通过meta拼接在一起,但拼接代码写好,就出现重定向的提示

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

JKTeller 发表于 2021-4-6 22:23
看着好像被反爬了?
luanshils 发表于 2021-4-6 23:05
有点迷,注释不是不运行么,怎么有注释和没注释是两个结果
 楼主| double07 发表于 2021-4-6 23:08
luanshils 发表于 2021-4-6 23:05
有点迷,注释不是不运行么,怎么有注释和没注释是两个结果

把注释注掉,就能把多页面数据链接在一起了,但问题就出这,出现重定向提示
luanshils 发表于 2021-4-6 23:59
double07 发表于 2021-4-6 23:08
把注释注掉,就能把多页面数据链接在一起了,但问题就出这,出现重定向提示

我理解错了
super.me 发表于 2021-4-7 12:11
你对scrapy的理解有问题,你在parse yield item,为什么要在这里构造新的请求?
 楼主| double07 发表于 2021-4-7 14:08
super.me 发表于 2021-4-7 12:11
你对scrapy的理解有问题,你在parse yield item,为什么要在这里构造新的请求?

漏说了一句,如果去掉最后两段的注释,前提是把parse yield item先注释
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 04:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表