Я чувствую себя глупо, потому что это кажется таким легким.Но я застрял с этим:
Я построил скребок, который дает мне звания рабочих мест.Прекрасно работает, но включает в себя теги h1.Например, он сохраняет название задания как:
"<<em> h1> Менеджер по маркетингу <</em> / h1>" Я не знаю, почему он не просто принимает значение в теге h1.
Но во-вторых, я просто попытался убрать теги, удалив первые 4 и последние 5 символов заголовка (title (4 ..- 5). К сожалению, похоже, что такая функция, как strip, не работает (ошибкаговорит мне, что это какой-то странный класс нокогири, который нельзя удалить).
Итак, вот мой код, надеюсь, кто-то знает разумное решение для моей проблемы:
company_career_urls.each do |url|
puts "gets job url"
# get the specific job url
html_file = open(url).read
html_doc = Nokogiri::HTML(html_file)
i = 0
Vacancy.where(:companyname => "Lillydoo").destroy_all
html_doc.search('.job-list-button a').each do |element|
i = i+1
if i > 7
else
job_url = element.attribute('href').value
puts job_url
#get the job name and description
html_file = open(job_url).read
html_doc = Nokogiri::HTML(html_file)
job_description = html_doc.search('.inner ul')
job_title = html_doc.search('.job-detail-desc h1') #this line seems to be the problem
# job_title = job_title_html[4..-6]
puts job_title
resource_type = "image"
type = "upload"
version = 1234567890
public_id = "wv7l1o6xwimtfvx2oxdw"
format = "jpg"
signature = Cloudinary::Utils.api_sign_request({:public_id=>public_id,
:version=>version}, Cloudinary.config.api_secret)
photo = "#{resource_type}/#{type}/v#{version}/#{public_id}.#{format}##{signature}"
vacancy = Vacancy.create(title: job_title, companyname: 'Lillydoo', jobdescription: job_description, photo: photo)
end
end