我刚刚开始使用Python和Scrapy进行web-刮取
我正试图从一个网站的众多URL中获取数据。URL结构始终与页面中的数据相同。因此,蜘蛛非常容易制作,直到现在为止,刮擦蜘蛛似乎非常容易
然而,我注意到,即使我使用代理管理器,我从响应中得到的一些结果与我在web浏览器中手动访问URL时得到的结果不同。据我所知,这可能是某种“蜜罐”
我想了一个绕过这个问题的方法:
不幸的是,我现在还没有找到一个技术性的答案。我的蜘蛛怎么能总是两次解析同一个URL?我是否应该使用两个爬行器并以其他方式比较结果
这里是我的蜘蛛的原始代码:
import scrapy
def clean_prices(price_str : str):
if price_str:
return price_str.replace('\u202f','').replace(',','.').replace(" ","").replace("\xa0","").replace('\n','').replace('€','')
else:
return price_str
class PricesSpider(scrapy.Spider):
name = "prices"
download_delay = 2.5
start_urls = [...]
def parse(self, response):
apart_cat_range = prices_cat.css("div.prices-summary__apartment-prices ul.prices-summary__price-range")
yield {
'prices' : clean_prices(apart_cat_range.css("li:nth-child(3)::text").get()).split("à")[1] if apart_cat_range.css("li:nth-child(3)::text").get() is not None else None
}
目前没有回答
相关问题 更多 >
编程相关推荐