を出力を入力してください:HTMLコードは、このようなものですので scrapy - 出力はこのように来て、新しい行に
を:
私は
タグの間でデータを分離することはできません。誰も私にそれをする方法を教えてもらえますか?
# -*- coding: utf-8 -*-
import scrapy
class MonsterComSpider(scrapy.Spider):
name = 'monsterca'
#allowed_domains = ['www.monster.ca']
start_urls = ['https://www.monster.ca/jobs/search/?q=data-analyst&page=1']
def parse(self, response):
urls = response.css('div.jobTitle > h2 > a::attr(href)').extract()
for url in urls:
yield scrapy.Request(url = url, callback = self.parse_details)
#crawling all the pages
next_page_url = response.xpath('//head/link[@rel="next"]/@href').extract_first()
if next_page_url:
next_page_url = response.urljoin(next_page_url)
yield scrapy.Request(url = next_page_url, callback = self.parse)
def parse_details(self,response):
if response.css('div[id = JobDescription] > span[id = TrackingJobBody] > ul'):
yield {
'Job Post' : response.css('div.opening.col-sm-12 > h1::text').extract_first(),
'Location' : response.css('div.opening.col-sm-12 > h2::text').extract_first(),
'Description' : response.css('div[id = JobDescription] > span[id = TrackingJobBody] > ul > li::text').extract()
}
elif response.css('div[id = JobDescription] > span[id = TrackingJobBody]'):
yield {
'Job Post' : response.css('div.opening.col-sm-12 > h1::text').extract_first(),
'Location' : response.css('div.opening.col-sm-12 > h2::text').extract_first(),
'Description' : response.css('div[id = JobDescription] > span[id = TrackingJobBody]::text').extract()
}
私はmonster.caが異なるページの異なるレイアウトを持っているので、私は標準化したい他の場合は追加しました:
は、ここに私のコードです。この場合、エリフケースを考慮してください。 http://job-openings.monster.ca/Senior-Data-Analyst-Calgary-AB-CA-Precision-ERP/11/186139327?MESCOID=1300087001001&jobPosition=2
それとも誰がどのように出力して、これらの特殊文字を削除し、新しい行に特殊文字の後の部分を取得することを伝えることができる場合:ここでは
は私が当たっていたリンクです。ありがとう
ポストあなたがテキストとしてではなく、イメージとして –
共有HTMLをこすりするために使用しているあなたのコードリンクを共有しました – Andersson
@TarunLalwaniが –