현재 기사 가격으로 웹 사이트를 긁어 내려고했지만 문제가 발생했습니다 (가격이 동적으로 생성 된 후 큰 문제가 발생 했음).).치료에서 깨지 않는 공간 제거/제외
가격 및 기사 이름을 문제없이받을 수 있지만 '가격'의 모든 두 번째 결과는 '\ xa0'입니다. 나는 'normalize-space()'를 사용하여 제거하려고했지만 아무 소용이 없다.
내 코드 :
import scrapy
from scrapy import signals
from scrapy.http import TextResponse
from scrapy.xlib.pydispatch import dispatcher
from horni.items import HorniItem
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
from selenium.webdriver.common.keys import Keys
class mySpider(scrapy.Spider):
name = "placeholder"
allowed_domains = ["placeholder.com"]
start_urls = ["https://www.placeholder.com"]
def __init__(self):
self.driver = webdriver.Chrome()
dispatcher.connect(self.spider_closed, signals.spider_closed)
def spider_closed(self, spider):
self.driver.close()
def parse(self, response):
self.driver.get("https://www.placeholder.com")
response = TextResponse(url=self.driver.current_url, body=self.driver.page_source, encoding='utf-8')
for post in response.xpath('//body'):
item = myItem()
item['article_name'] = post.xpath('//a[@class="title-link"]/span/text()').extract()
item['price'] = post.xpath('//p[@class="display-price"]/span]/text()').extract()
yield item
관심이 있으시면 http://stackoverflow.com/a/33829869/2572383에서 다양한 여백 문자와 XPath'normalize-space()'및/또는 Python의' strip()' –
'/ p [@ class = "display-price"]/span]/text()'를 적용 할 수있는 HTML 스 니펫을 보여줄 수 있습니까? –