Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Scrapy splash呈现不同的HTML_Python_Web Scraping_Scrapy_Scrapy Splash - Fatal编程技术网

Python Scrapy splash呈现不同的HTML

Python Scrapy splash呈现不同的HTML,python,web-scraping,scrapy,scrapy-splash,Python,Web Scraping,Scrapy,Scrapy Splash,最近,我一直在努力搜刮一个电子商务网站。起初,我一直被重定向到“你是机器人吗?”页面。然后我开始使用浏览器用户代理,scrapy splash for Javascript和5秒的下载延迟。现在,没有错误,但是没有呈现正确的页面 spider.py class ClassifiedsSpider(scrapy.Spider): name = 'classifieds' allowed_domains = ['dubai.dubizzle.com'] start_urls = ['http://d

最近,我一直在努力搜刮一个电子商务网站。起初,我一直被重定向到“你是机器人吗?”页面。然后我开始使用浏览器用户代理,scrapy splash for Javascript和5秒的下载延迟。现在,没有错误,但是没有呈现正确的页面

spider.py

class ClassifiedsSpider(scrapy.Spider):
name = 'classifieds'
allowed_domains = ['dubai.dubizzle.com']
start_urls = ['http://dubai.dubizzle.com/classified/']

def parse(self, response):
    url = response.xpath("//h3[@id='title']/span[@class='title']/a/@href").extract_first()
    yield SplashRequest(url, self.get_details,
        endpoint='render.html',
        args={'wait': 0.5, 'proxy':'http://89.212.66.36:8080'},
    )

def get_details(self, response):
    title = response.xpath("//h1[@id='title']/span[@id='listing-title-wrap']").extract_first()
    item = Product()
    item['title'] = title        
    yield item
    with open("body.txt", "a") as f:
        f.write(response.body.decode("utf-8"))
呈现的HTML


(功能(窗口){
试一试{
if(会话存储的类型!==“未定义”){
sessionStorage.setItem('distil_referer',document.referer);
}
}捕获(e){}
})(窗口);
#位置:绝对;顶部:-5000px;左侧:-5000px}字体系列:衬线;字体大小:200px;可见性:隐藏}显示:无!重要}
敏捷的棕色狐狸跳过了懒狗。
输出:

2018-07-2517:19:58[刮屑.下载程序.重定向]
调试:将(301)重定向到
2018-07-25 17:20:05[刮屑核心引擎]调试:爬网(200)(参考:无)
2018-07-25 17:20:12[刮屑核心引擎]调试:爬网(200)(参考:无)
2018-07-25 17:20:12[scrapy.core.scraper]调试:从
{'title':无}
2018-07-25 17:20:12[刮屑芯发动机]信息:关闭卡盘(已完成)
2018-07-25 17:20:12[scrapy.extensions.feedexport]信息:存储在:data.csv中的csv提要(1项)
我意识到它在某种程度上检测到它是一个网络破坏者,但我似乎无法解决这个问题


注意:这不会发生在分类广告页面上,我可以轻松地抓取并获取每个广告的url。问题发生在我请求每个广告的url时

大多数网站现在都有
Robot.txt
文件来防止机器人抓取,因此您需要访问
设置
文件,并将
ROBOTSTXT\u obe
标志改为
False

或者,如果要在shell中选中此选项,可以指定如下标志:

 scrapy shell http://something.com --set="ROBOTSTXT_OBEY=False"