草庐IT

scrapy-spider

全部标签

javascript - 如何结合 scrapy 和 htmlunit 使用 javascript 抓取 url

我正在使用Scrapy来抓取页面,但是,我无法使用javascript处理这些页面。人们建议我使用htmlunit,所以我安装了它,但我根本不知道如何使用它。谁能给我举个例子(scrapy+htmlunit)?非常感谢。 最佳答案 要使用javascript处理页面,您可以使用Webkit或Selenium。这里有一些来自snippets.scrapy.org的片段:Rendered/interactivejavascriptwithgtk/webkit/jswebkitRenderedJavascriptCrawlerWithSc

php - 如何获取Python Scrapy Crawler的详细信息?

我正在使用PythonScrapy工具从网站中提取数据。我使用proc_open()从我的php代码中触发Scrapy。现在我需要维护仪表板之类的东西。Scrapy中有没有办法获取Crawler的详细信息,例如:Crawler运行所用的时间。爬虫的启动和停止时间。爬虫状态(事件或停止)。同时运行的爬虫列表。 最佳答案 您的问题可以通过使用扩展来解决。例如:fromdatetimeimportdatetimefromscrapyimportsignalsfromtwisted.internet.taskimportLoopingCal

Scrapy CSS选择器RE给出了破碎的JSON字符串

嘿,我是python的新手,尤其是我想报废沃尔玛。但是我遇到了一个问题。我是这个正则表达式,从响应中获取JSON字符串__WML_REDUX_INITIAL_STATE__=*(.*\});\};但是它给出了折断的json字符串,例如沃尔玛产品由于哪个JSON.LOADS失败。是regx还是scrapy的问题。我没有得到为什么会发生这种情况看答案砂纸/parsel的Selector.re()和.re_first()具有替换HTML字符实体参考的(不幸的)默认行为。这可能导致JSON解码失败。带有样品URL的插图中的插图。您的正则表达式确实有效,它选择了您想要的数据:$scrapyshellht

python爬虫selenium+scrapy常用功能笔记

爬虫Selenium+scrapy常用功能笔记Selenium常用包的导入初始化配置和特征隐藏机器人特征检验显(隐)式等待页面操作获取页面dom页面元素获取元素点击frame跳转获取cookie给请求添加cookie事件操作点击上传文件退出页面Scrapy初始创建命令常用请求头Parse解析手动去重过滤meta传参获取请求或者响应的cookiepiplines.py异步入库middlewares中间件使用selenium替代访问并获取cookieSQlip池子Selenium常用包的导入importre,time,json,os,randomfromseleniumimportwebdrive

深度剖析Selenium与Scrapy的黄金组合:实现动态网页爬虫

在当今互联网时代,大量网站采用动态网页技术呈现信息,这给爬虫技术提出了新的挑战。本文将带您深入探讨如何应对动态网页的爬取难题,结合Python爬虫框架Scrapy和自动化测试工具Selenium进行实战,为您揭示动态网页爬取的技术奥秘。动态网页与传统爬虫的对比传统爬虫主要通过直接请求页面获取静态源代码,但动态网页通过JavaScript等技术在浏览器中进行数据加载,导致源代码不完整。解决这一问题的利器是结合Scrapy和Selenium,使我们能够模拟浏览器操作,获取完整渲染后的页面数据。Scrapy与Selenium的黄金组合Scrapy是Python中强大的爬虫框架,拥有强大的页面解析和异

javascript - 由于来自 typography.com [更新] 的字体,Spiderable 包偶尔会工作

更新好的,我已经找到错误了!我使用的字体来自http://www.typography.com/如果我从中删除指向字体的链接(或者甚至把它放在正文中)每次都能正确获取网站!总结:如果您使用的是从远程域加载的webfonts(也有某种许可证批准过程),那么spiderable包会崩溃!原问题:所以我得到了这个使用meteor.js构建的简单网站。它在DigitalOcean上,使用meteorup部署(启用phantomjs)并且它使用spiderable包。Here'sthesite,it'sasimpleportfolio.现在当我做例子时curlhttp://portfolio.n

meteor - Spiderable 的任何替代品?

我们的Meteor版本是0.8.1,这意味着当我们尝试安装当前版本的Spiderable时它会崩溃。PhantomJS与这种不兼容有关,因为它有一些过时的依赖项,主要是关于BlazeLayout和IronRouter的问题。但是我们确实需要元数据才能工作,尤其是在Facebook上。我的意思是像og:title,og:image,og:description...因为我们把标签在之上,浏览器实际上可以读取中的所有内容,但Facebook和Google不会。有什么想法吗?谢谢! 最佳答案 您也许可以使用inject-initial包。

带有 phantomjs 的 Meteor Spiderable 不显示产量内容

关注本文METEORSEOGUIDEhttps://gentlenode.com/journal/meteor-12-the-complete-guide-to-seo/20:我已经安装了Spiderable(meteor添加spiderable)、phantomjs(apt-getinstallphantomjs),确保我所有的发布都有返回。我正在使用meteor1.0.0和iron-router1.0.0。一切似乎都运行良好,当我打开localhost/?_escaped_fragment_=时,我得到了phantomjs生成的静态内容(没有错误),但是{{>yield}}中的内容

如何在Docker组成的Privoxy上使用Scrapy和Tor conplassy

我试图用两个“扩展”运行一架蜘蛛:溅为了渲染JavaScript,tor-provoxy提供匿名。例如,我正在使用quotes.toscrape.com在https://github.com/scrapy-plugins/scrapy-splash/tree/master/example。这是我的目录结构:.├──docker-compose.yml└──example├──Dockerfile├──scrapy.cfg└──scrashtest├──__init__.py├──settings.py└──spiders├──__init__.py└──quotes.py在哪里example目

循环响应以将项目保存到DB(Django,scrapy)

我正在一个项目中,我可以在网上爬网上购买各种家具并获得其属性。我使用DjangoItem将这些数据保存到我的数据库中。我的问题是将响应计数用于循环中。我不知道这是最好的方法(可能不是)。这是我的蜘蛛:defparse(self,response):now=timezone.now()foriteminresponse.css('.page-content-area'):foriinrange(5):furnitureItem=FurnitureItem()furnitureItem['furniture_type']='Chair'furnitureItem['name']=item.css(