я пишу не тот паук, пока не могу узнать, кто может исправить код? - PullRequest
0 голосов
/ 17 апреля 2019

Неверный код паука. Я создал проект демона, но он не работает, пожалуйста, проверьте мой код против выстрела, и я понятия не имею для всего моего кода паука и проблем.

import scrapy

class EmailSpider(scrapy.Spider):
    name='Email'

    start_url = [
        'http://jsjy.114chn.com/'
    ]

    def parse(self,response):
        for Email in response.xpath("//span[@id='lblEmail']"):
            yiel{
                'email_text': Email.xpath(".//span[@id='lblEmail_text']/p").extract_first()
            }

         next_page= response.xpath("//li[@class='next']/a/@href").extract_first()
         if next_page is not None:
             next_page_link= response.urljoin(next_page)
             yield scrapy.Request(url=next_page_link, callback=self.parse)  

enter image description here

1 Ответ

1 голос
/ 17 апреля 2019

У вас проблемы с отступом и функцией yield. Также внесены некоторые исправления в стиле кода:

import scrapy


class EmailSpider(scrapy.Spider):
    name = 'Email'
    start_url = ['http://jsjy.114chn.com/']

    def parse(self, response):
        for email in response.xpath("//span[@id='lblEmail']"):
            yield {
                'email_text': email.xpath(".//span[@id='lblEmail_text']/p").get()
            }

        next_page = response.xpath("//li[@class='next']/a/@href").get()
        if next_page:
            yield scrapy.Request(response.urljoin(next_page))

Но поскольку у вас нет элементов #lblEmail на странице, этот паук ничего не выведет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...