Tag: 抓scrapy

无头浏览器和刮 – 解决scheme

我试图把浏览器自动testing套件和无头浏览器平台的可能的解决scheme清单能够刮。 浏览器testing/清理: Selenium – 浏览器自动化中的polyglot旗舰,为Python,Ruby,JavaScript,C#,Haskell等提供绑定,用于Firefox(作为扩展)的IDE,用于更快的testing部署。 可以作为一个服务器,并具有吨的function。 JAVASCRIPT PhantomJS – 使用屏幕截图和自动化的JavaScript无头testing,使用Webkit 。 从版本1.8开始,Selenium的WebDriver API被实现,所以你可以使用任何的WebDriver绑定和testing将与Selenium兼容 SlimerJS – 与PhantomJS类似,使用Gecko (Firefox)而不是WebKit CasperJS – 基于PhantomJS和SlimerJS构build的JavaScript ,具有额外的function Ghost驱动程序 – 用于PhantomJS的WebDriver Wire Protocol的 JavaScript实现。 新的 PhantomCSS – CSS回归testing。 一个CasperJS模块,用于使用PhantomJS和Resemble.js自动进行可视化回归testing。 新的 WebdriverCSS – Webdriver.io的插件,用于自动化视觉回归testing 新的 PhantomFlow – 通过testing描述和可视化用户stream程。 Web用户界面testing的一种实验方法。 新的 trifleJS – 移植 PhantomJS API来使用Internet Explorer引擎。 新的 CasperJS IDE (商业) Node.js的 节点 – […]

Scrapy和代理

你如何利用python网页抓取框架Scrapy的代理支持?

在芹菜任务中运行Scrapy蜘蛛

这不工作了 ,scrapy的API已经改变了。 现在,文档中提供了一种“ 从脚本运行Scrapy ”的方法,但是我得到了ReactorNotRestartable错误。 我的任务: from celery import Task from twisted.internet import reactor from scrapy.crawler import Crawler from scrapy import log, signals from scrapy.utils.project import get_project_settings from .spiders import MySpider class MyTask(Task): def run(self, *args, **kwargs): spider = MySpider settings = get_project_settings() crawler = Crawler(settings) crawler.signals.connect(reactor.stop, signal=signals.spider_closed) crawler.configure() crawler.crawl(spider) crawler.start() log.start() reactor.run()

我如何使用多个请求,并在他们之间的scrapy python传递项目

我有item对象,我需要沿着很多页面传递,以在单个项目中存储数据 像我的项目是 class DmozItem(Item): title = Field() description1 = Field() description2 = Field() description3 = Field() 现在这三个描述分三页。 我想做类似的事情 现在这适用于parseDescription1 def page_parser(self, response): sites = hxs.select('//div[@class="row"]') items = [] request = Request("http://www.example.com/lin1.cpp", callback =self.parseDescription1) request.meta['item'] = item return request def parseDescription1(self,response): item = response.meta['item'] item['desc1'] = "test" return item 但我想要的东西 def page_parser(self, response): sites = hxs.select('//div[@class="row"]') […]

在Scrapy中通过validation会话进行爬网

在我之前的问题中 ,我对于我的问题并不是非常具体(用Scrapyauthentication的会话),希望能够从更一般的答案中推导出解决scheme。 我应该使用crawling这个词。 所以,这里是我的代码到目前为止: class MySpider(CrawlSpider): name = 'myspider' allowed_domains = ['domain.com'] start_urls = ['http://www.domain.com/login/'] rules = ( Rule(SgmlLinkExtractor(allow=r'-\w+.html$'), callback='parse_item', follow=True), ) def parse(self, response): hxs = HtmlXPathSelector(response) if not "Hi Herman" in response.body: return self.login(response) else: return self.parse_item(response) def login(self, response): return [FormRequest.from_response(response, formdata={'name': 'herman', 'password': 'password'}, callback=self.parse)] def parse_item(self, response): i['url'] = response.url […]

如何在Python脚本中运行Scrapy

我是Scrapy的新手,我正在寻找一种从Python脚本运行它的方法。 我发现有两个来源解释这一点: http://tryolabs.com/Blog/2011/09/27/calling-scrapy-python-script/ http://snipplr.com/view/67006/using-scrapy-from-a-script/ 我不知道我应该把我的蜘蛛代码,以及如何从主函数调用它。 请帮忙。 这是示例代码: # This snippet can be used to run scrapy spiders independent of scrapyd or the scrapy command line tool and use it from a script. # # The multiprocessing library is used in order to work around a bug in Twisted, in which you cannot restart an already […]

如何在scrapy蜘蛛中传递用户定义的参数

我正尝试将用户定义的parameter passing给scrapy的蜘蛛。 任何人都可以build议如何做到这一点? 我读了一个参数-a地方,但不知道如何使用它。

“OSError:操作不允许”在OSX 10.11(El Capitan)中安装Scrapy(系统完整性保护)

我正在尝试通过pip在OSX 10.11(El Capitan)中安装Scrapy Python框架。 安装脚本会下载所需的模块,并在某些时候返回以下错误: OSError: [Errno 1] Operation not permitted: '/tmp/pip-nIfswi-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info' 我尝试使用以下命令停用OSX 10.11中的无根function: sudo nvram boot-args="rootless=0";sudo reboot 但机器重新启动时仍然出现相同的错误。 我的同胞StackExchangers的任何线索或想法? 如果有帮助,完整的脚本输出如下: sudo -s pip install scrapy Collecting scrapy Downloading Scrapy-1.0.2-py2-none-any.whl (290kB) 100% |████████████████████████████████| 290kB 345kB/s Requirement already satisfied (use –upgrade to upgrade): cssselect>=0.9 in /Library/Python/2.7/site-packages (from scrapy) Requirement already satisfied (use –upgrade to upgrade): queuelib […]

Scrapy非常基本的例子

您好我的Python上安装了Python Scrapy,我试图按照他们的networking上的第一个例子 。 他们试图运行命令: scrapy crawl mininova.org -o scraped_data.json -t json 我不太明白这是什么意思? 看起来像scrapy竟然是一个单独的程序。 我不认为他们有一个叫爬行的命令。 在这个例子中,他们有一段代码,它是类MininovaSpider和TorrentItem的定义。 我不知道这两个类应该去哪里,去同一个文件,这个python文件的名字是什么?

使用python-Scrapy刮取dynamic内容

免责声明:我已经在StackOverflow上看到许多其他类似的post,并试图以同样的方式做,但他们似乎并没有在这个网站上工作。 我正在使用Python-Scrapy从koovs.com获取数据。 但是,我无法获得dynamic生成的产品大小。 具体来说,如果有人可以指导我从这个链接的下拉菜单中获取“不可用”尺寸标签,我将不胜感激。 我能够静态地获得大小列表,但是这样做只能获取大小列表,而不能获取大小列表。