Я написал простую очистку с использованием scrapy, но она продолжает возвращать первый экземпляр целевых данных вместо правильных данных в каждой строке из каждого экземпляра целевых данных. В этом случае он возвращает первую ссылку для всех найденных вакансий с веб-сайта Indeed вместо правильной ссылки для каждой вакансии.
Я пробовал как использовать (div), так и избегать (.//div) абсолютных путей, а также использовать [0] в конце lin. Без [0] он возвращает все данные из всех строк в каждой ячейке.
Ссылка на пример исходных данных есть; https://www.indeed.co.uk/jobs?as_and=a&as_phr=&as_any=&as_not=IT+construction&as_ttl=Project+Manager&as_cmp=&jt=contract&st=&salary=%C2%A330K-%C2%A3460K&radius=25&fromage=2&limit= 50&sort=date&psf=advsrch
Целевые данные: href="/rc/clk?jk=56e4f5164620b6da&fccid=6920a3604c831610&vjs=3"
<div class = "title">
<a target = "_blank" id = "jl_56e4f5164620b6da" href = "/rc/clk?jk=56e4f5164620b6da&fccid=6920a3604c831610&vjs=3" onmousedown = "return rclk(this,jobmap[0],1);" onclick = " setRefineByCookie(['radius', 'jobtype', 'salest']); return rclk(this,jobmap[0],true,1);" rel = "noopener nofollow" title = "Project Manager" class = "jobtitle turnstileLink " data-tn-element = "jobTitle">
<b>Project</b> <b>Manager</b></a>
def parse(self, response):
titles = response.css('div.jobsearch-SerpJobCard')
items = []
for title in titles:
item = ICcom4Item()
home_url = ("http://www.indeed.co.uk")
item ['role_title_link'] = titles.xpath('div[@class = "title"]/a/@href').extract()[0]
items.append(item)
return items
Мне просто нужна правильная ссылка из каждой работы, чтобы появиться. Вся помощь приветствуется!
Проблема в строке ниже:
item ['role_title_link'] = titles.xpath('div[@class = "title"]/a/@href').extract()[0]
Вместо titles.xpath
вы должны использовать title.xpath
, как показано ниже:
item ['role_title_link'] = title.xpath('div[@class = "title"]/a/@href').extract()[0]
Затем ваш код будет царапать ссылкой для каждого задания, как вы хотите.
Добро пожаловать @Jamwg! Не волнуйтесь, это иногда случается!
Большое спасибо mthrsj, с этим разобрались! Извините, что побеспокоил вас такой маленькой проблемой с вашей точки зрения. Я работал над этим часами :-(