Извлечение текста из таблицы с помощью Scrapy - PullRequest
0 голосов
/ 15 сентября 2018

Я пытаюсь извлечь название должности из таблицы на этой странице: http://www.chalmers.se/en/about-chalmers/Working-at-Chalmers/Vacancies/Pages/default.aspx

Это код, но он всегда возвращается пустым. Есть идеи как это исправить?

import os
from scrapy.spiders import CrawlSpider
from scrapy.selector import Selector

class mySpider(CrawlSpider):
    name = "myspider"
    allowed_domains = ["www.chalmers.se"]
    start_urls = [  
                  "http://www.chalmers.se/en/about-chalmers/Working-at-Chalmers/Vacancies/Pages/default.aspx",
                  ]

def parse(self, response):
    sel = response.selector

    # try to extract text from a tag inside <td>
    for tr in sel.css("table#jobsTable>tbody>tr"):
        my_title = tr.xpath('td[@class="jobitem"]/a/text()').extract()
        print '================', my_title

Я также пытаюсь дать абсолютный путь HTML, как показано ниже, но все еще получил пустой заголовок:

my_title = response.xpath('/html/body/div/div[1]/div/div[11]/div/table/tbody/tr[1]/td[2]/a/text()').extract()

1 Ответ

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

Ваш веб-сайт находится над таблицей Jobs из другого источника (загружая его с помощью вызова AJAX).Так что вам просто нужно начать с другого URL:

start_urls = ['https://web103.reachmee.com/ext/I003/304/main?site=5&validator=a72aeedd63ec10de71e46f8d91d0d57c&lang=UK&ref=&ihelper=http://www.chalmers.se/en/about-chalmers/Working-at-Chalmers/Vacancies/Pages/default.aspx']
...