Извлечение таблицы с ошибкой Scrapy - PullRequest
0 голосов
/ 19 сентября 2018

Мне нужно извлечь ссылки в таблице с веб-сайта (имя класса внутреннее), но я всегда получаю Crawled 0 страниц, а загрузчик получает кучу байтов.

class geneDetails(scrapy.Spider):
name = "details"

def start_requests(self):
    urls = ['https://ecocyc.org/gene?orgid=ECOLI&id=G7688']
    for url in urls:
        yield scrapy.Request(url=url, callback=self.parse)

def parse(self, response):


    details = response.xpath('//*[contains(@class,"internal")]/tbody/tr').extract()

    for det in details:
        gene_det =  det.xpath('./text()').extract()

Уже много чего перепробовал, но так и не сработал, код выше был моей последней попыткой, извините за все, а не специалистом по scrapy / xpath.

1 Ответ

0 голосов
/ 19 сентября 2018

В вашем коде вы не открываете определенную часть для «GO»

https://ecocyc.org/gene?orgid=ECOLI&id=G7688#tab=GO

Чтобы получить эти данные, вам нужно загрузить

https://ecocyc.org/gene-tab?id=G7688&orgid=ECOLI&tab=GO

Вы можете найти urlpart в

tabIds[tabIds.length] = 'GO';Y.one('#GO').setData('uri', '/gene-tab?id=G7688&orgid=ECOLI&tab=GO');
Y.one('#GO').setData('clim-reqd-p', 'true');

Следующим шагом будет разбор таблицы результатов.

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