使用scrapy python抓取NodeJs和AngularJs网站

我正在尝试使用scrapy python抓取网站,大部分网站已经成功完成,但是大多数网站都给出了难度,因为它们运行在Nodejs和angularjs框架或其他java框架上,scrapy抓取工具无法从网页中获取详细信息。 请在这里我需要你的关注。 期待你的最早的帮助。 在这里你可以find最初我用于testing基地的代码。 import scrapy from selenium import webdriver from scrapy.http import TextResponse class QuotesSpider(scrapy.Spider): name = "quotes" start_urls = ['https://en-ae.wadi.com/home_entertainment-televisions/?ref=navigation'] def parse(self, response): self.log('i have just visited the ' + response.url) yield{ 'product_name' : response.css('p.description.ng-binding > span::text').extract_first(), } 提前致谢。

从函数定义中引用GeneratorFunction实例

我想在实例化的GeneratorFunction上设置属性。 我想能够设置length属性作为一种方便,所以消费者可以得到多less值将被生成的想法。 例如: function* produceValues(someInput) { this.length = determineLength(someInput) yield // something } const gen = produceValues(input) console.log(gen.length) 毫不奇怪,使用this并不是指实例,而是全局的。 JavaScript是否提供了访问实例化对象的方法?

(Javascript的Node.js)如何从一个IIFE获得varibles

请参阅我的代码如下:我想分配logging集到一个variables,可以使用index.js来调用这个variables。 我能够console.loglogging集。 但是当我叫这个IIFE时,总是说未定义的。 var mssql = require('mssql'); var dbcon = require('./dbcon'); var storage = (function () { var connection = new mssql.Connection(dbcon); var request = new mssql.Request(connection); connection.connect(function (recordset) { request.query('select getdate()', function (err, recordset) { console.dir(recordset); }); connection.close(); }); })(); module.exports = storage; index.js var storage = require('./storage'); "AMAZON.HelpIntent": function (intent, session, response) { […]

使用node-sqlite将数据从一个数据库复制到另一个数据库 – 格式化“插入”语句

我正在写一个小的实用程序将数据从一个sqlite数据库文件复制到另一个。 两个文件都有相同的表结构 – 这完全是关于从一个数据库移动到另一个数据库的行。 我的代码现在: let tables: Array<string> = [ "OneTable", "AnotherTable", "DataStoredHere", "Video" ] tables.forEach((table) => { console.log(`Copying ${table} table`); sourceDB.each(`select * from ${table}`, (error, row) => { console.log(row); destDB.run(`insert into ${table} values (?)`, …row) // this is the problem }) }) 这里的row是一个js对象,每个表都有键控数据。 我敢肯定,有一个简单的方法来做到这一点,不涉及转义string数据。

重写一个文件内容到json准备

我有一个名为“file.php”包含这样的行(不仅)的文件: … define("META_PAGE_BRAND_HOME_TITLE","esta es la Marca"); define("META_PAGE_BRAND_HOME_DESCRIPTION","Conoce nuestra Marca y empieza con la web "); define("META_PAGE_BRAND_HOME_KEYWORDS","Marca Logo Mision"); … 我想得到这个: { "meta_page_brand_home_title":"esta es la Marca", "meta_page_brand_home_description":"Conoce nuestra Marca y empieza con la web ", "meta_page_brand_home_keywords":"Marca Logo Mision" } 我想重写那些只有以“define(”)开头的行或者一个新文件,第一部分的大写字母应该是小写字母,我知道我应该做这样的事情,但是我并不那么敏锐。 任何帮助,将不胜感激。

使用按位运算符testingSHA-256摘要的相等性

我正在nodeJS应用程序中实现一个令牌系统,我需要检查两个使用SHA256散列的string是否相等。 我最初的想法是,我可以简单地使用严格的相等运算符( hash1 === hash2 )来testing相等性,因为摘要如果具有相同的input应该产生相同的string。 不过,我已经看到了Paragon Initiative的一篇文章,声称比较每个字符的ascii代码中使用按位运算符的string更安全。 要比较摘要令牌,Paragon代码使用以下代码段(PHP): public static function hash_equals($hash1, $hash2) … $res = 0; $len = \strlen($hash1); for ($i = 0; $i < $len; ++$i) { $res |= \ord($hash1[$i]) ^ \ord($hash2[$i]); } return $res === 0; } 基本上,每个索引处的字符使用按位“异或”,然后使用按位“或”将其保存为标志值。 如果有任何字符不匹配,则差异保存在$res 。 这比使用严格的string比较更有效吗? 哈希摘要只是string,我不知道为什么一个简单的string比较会比明确检查string中的每个单字节有效。 文章编号: https : //paragonie.com/blog/2015/04/secure-authentication-php-with-long-term-persistence Code Ref: https : //github.com/psecio/gatekeeper/blob/7b8ec374e208148692316a34c1b4700d5407ef9b/src […]

在JavaScript中获取当前堆栈跟踪

如何从JavaScript打印堆栈跟踪? 答案当我抛出exception时,如何获得Javascript堆栈跟踪? 处理抛出exception,但我需要打印堆栈跟踪debugging内存泄漏。 基本上我有和Java中的获取当前堆栈跟踪相同的问题,但对于JavaScript。 以及如何在Node.js中打印堆栈跟踪? 是类似的,但它是Node.js,我想知道的JavaScript,更一般来说,如果它不同。

打字稿:按价值或参考传递

我有这个文件: object.ts: export const myObject { prop1: "prop1", prop2: "prop2", … … } 我有这个class 我-class.ts export class MyClass { private obj: any; constructor(obj: any) { this.obj = obj } } 我有这个文件: main.ts import { myObject } from "object"; import { MyClass } from "my-class"; let class1 = new MyClass(myObject); let class2 = new MyClass(myObject); let […]

Sharepoint请求摘要值跨域

我在NodeJS和ExpressJs上构build了一个Web应用程序,我试图通过Sharepoint REST Api将文档上传到Sharepoint Online库。 我能够authentication并创build和更新列表项目。 我正在使用node-sp-auth进行身份validation和express-request以发出http请求。 为了访问Sharepoint REST api我在我的头中使用FormDigestValue 。 标题: Headers['Content-Type'] = 'application/json;odata=verbose'; Headers['X-RequestDigest'] = FormDigestValue; Headers['Accept'] = "application/json;odata=verbose"; Headers['X-HTTP-Method'] = "POST"; 当我尝试创build/更新自定义列表中的列表项时,这工作正常 。 但是当我尝试上传文件时收到以下错误: body: '{"error":{"code":"-1, Microsoft.SharePoint.SPException","message": {"lang":"en-US","value":"There is no app context to execute this request."}}}' } } 我用于上传的url: siteurl + "/_api/SP.AppContextSite(@TargetSite)/web/lists/getByTitle(@TargetLibrary)/RootFolder/Files/add(url=@TargetFileName,overwrite='true')?" + "@TargetSite='" + siteurl + "'" + "&@TargetLibrary='" + libraryName + […]

将数据从POST路由传递到模板

我正在尝试使用node.js构build简单的天气应用程序。 我想在单独的ejs文件中显示天气信息。 我的后路线代码如下所示: app.post('/', (req, res) => { var address = req.body.address; location.getLocation(address, (error, results) => { if(error) { console.log(error); } else { fetchWeather.getWeather(results.latitude, results.longitude, (error, weatherResults) => { if(error){ console.log(error); } else { var temp = weatherResults.temperature; var appTemp = weatherResults.apparentTemperature; console.log(temp, appTemp); } }); } }); res.redirect('weatherinfo'); }); 我正在使用请求来获取单独的文件中的数据: var getWeather = (lat, […]