天道酬勤,学无止境

技术分享

Python Scrapy 只会一遍又一遍地抓取相同的元素(Python Scrapy only scraping the same elements over and over again)

问题 我正在尝试学习 Scrapy,我正在 yelp 网站上学习这个 LINK 但是当 scrapy 运行时,它会一遍又一遍地抓取相同的电话、地址,而不是抓取不同的部分。 我使用的选择器是所有的“li”标签,属于页面的每个餐馆的特定类,每个LI标记包含我使用适当的选择器的每个餐厅信息,但Scape给了我的结果,重复形成2或3家餐馆。 出于某种原因,Scrapy 一遍又一遍地使用相同的部分,而当它们在 for 循环中完成时应该跳过它们。 这是代码 try: import scrapy from urlparse import urljoin except ImportError: print "\nERROR IMPORTING THE NESSASARY LIBRARIES\n" #scrapy.optional_features.remove('boto') url = raw_input('ENTER THE SITE URL : ') class YelpSpider(scrapy.Spider): name = 'yelp spider' start_urls = [url] def parse(self, response): SET_SELECTOR = '.regular-search-result' #Going over each li tags containg

2022-01-25 05:39:52   python   html   css   web-scraping   scrapy

当 drawInContext 时 CAShapeLayer 自定义属性为零(CAShapeLayer custom property is nil when drawInContext)

问题 我定义了一个自定义层,并声明了一个自定义属性,但是在 -(void)drawInContext:(CGContextRef)ctx 方法中的动画时它不起作用 这是一些代码: @interface ZBBProgressLayer : CAShapeLayer @property (nonatomic, assign) CGFloat progress; @property(nullable) CGColorRef progressColor; @end @implementation ZBBProgressLayer + (BOOL)needsDisplayForKey:(NSString *)key{ if ([key isEqualToString:@"progress"]/*progress 属性变化时,重绘*/) { return YES; } return [super needsDisplayForKey:key]; } -(void)dealloc{ [self removeAllAnimations]; } @end // ZBBRectProgressLayer @interface ZBBRectProgressLayer : ZBBProgressLayer @end @implementation ZBBRectProgressLayer -(void

2022-01-25 05:39:47   uibezierpath   cashapelayer   cabasicanimation   custom-properties

重新定义 C++ 中的基本类型(Redefine basic types in C++)

问题 是否可以重新定义 C++ 中的int是什么? 原因是因为我想在计算机上模拟一些 Arduino 代码,而不更改 Arduino 代码。 例如,为了以同样的方式演示溢出, int需要是 16 位而不是我机器上的 32 位。 所以基本上我想: typedef int16_t int; 以及对 Arduino 使用的其他数据类型执行相同的操作。 但是我认为这是不可能的,因为它会引发错误(不足为奇): error: cannot combine with previous 'type-name' declaration specifier 有没有办法可以轻松做到这一点? 回答1 您不能重新定义int但您可以停止使用int编写代码并使用类型别名,例如: typedef int int_type; int main() { int_type i = 0; // etc... } 然后您可以根据需要切换类型: typedef int16_t int_type; // now using 16 bit integers

2022-01-25 05:39:42   c++   typedef

两个fft函数的卷积(Convolution of two fft function)

问题 对于卷积定理 F(xy) = F(x)*F(y) 但是在python上实现它之后 x = np.array([0,0,0,0,1, 2, 3, 4, 0 ,0,0,0]) y = np.array([0,0,0,0,-3, 5, -4, 0, 0, 0,0,0]) xy = x*y inverse_fft_xy = np.fft.ifft(np.convolve(np.fft.fft(x),np.fft.fft(y))) 将产生 xy array([ 0, 0, 0, 0, -3, 10, -12, 0, 0, 0, 0, 0]) inverse_fft_xy array([ 0.00000000e+00, -8.70383905e-01, 1.65925305e-02, -8.90888514e-01, 7.07822398e-02, -8.80447879e-01, 1.19687210e-01, 3.09247006e+00, -9.54481834e+00, -5.81203213e+00, 2.15726342e+01, -1.47366137e+01, -1.03012447e+01, 2.76823117e+00, -1.42560168e+00, 4.98000293e-01, -1.18537317e+00, 2.02675981e-01, -9

2022-01-25 05:39:37   python   numpy   fft

npm 无法恢复到以前版本的节点包 (angular-cli)(npm unable to revert to previous version of node package (angular-cli))

问题 当前版本的节点包 angular-cli 有一些错误,所以我想恢复到以前的版本:1.0.0-beta.28.3。 问题是我需要执行哪些步骤才能恢复到节点包的先前版本。 我跑: npm uninstall angular-cli --save -g npm cache clean angular-cli npm i --save -g angular-cli@1.0.0-beta.21 完成此操作后,我重新安装并尝试打开一个新的 git 控制台。 但是, ng --version 仍然返回:版本 1.0.0-beta.28.3 回答1 如果您使用的是 Angular CLI beta.28 或更低版本,则需要卸载 angular-cli 包。 由于将包的名称和范围从 angular-cli 更改为 @angular/cli,应该这样做: npm uninstall -g angular-cli npm uninstall --save-dev angular-cli 然后清理cacge并安装新版本 npm cache clean npm i --save -g angular-cli@1.0.0-beta.21

2022-01-25 05:39:29   angular   npm   npm-install

带有/不带引号和单/双引号的bash字符串[重复](bash string with/without quote and single/double quote [duplicate])

问题 这个问题在这里已经有了答案: Bash 中单引号和双引号之间的区别7 个答案我什么时候应该在 shell 变量周围加上引号? (5 个回答) 4年前关闭。 $ volume=vol1 $ echo $volume vol1 $ volume="vol1" $ echo $volume vol1 $ volume='vol1' $ echo $volume vol1 以上在bash脚本中有什么区别? 都是一样的吗? 回答1 您可能会在该 wiki 上找到明确的答案。 简短的回答:在$volume附近需要报价。

2022-01-25 05:39:22   linux   string   bash

Apache-Error: [file "apache2_util.c"] [line 271] [level 3] [client %s] ModSecurity: %s%s [uri "%s"]%s(Apache-Error: [file "apache2_util.c"] [line 271] [level 3] [client %s] ModSecurity: %s%s [uri "%s"]%s)

问题 我刚刚将 Apache Httpd 2.4.25 与 mod_security 2.9.1 集成。 现在我收到了这个错误信息: /* --ba380000-H-- Message: Error reading request body: Partial results are valid but processing is incomplete Apache-Error: [file "apache2_util.c"] [line 271] [level 3] [client %s] ModSecurity: %s%s [uri "%s"]%s Apache-Handler: jakarta-servlet Stopwatch: 1489655290393010 8470749 (- - -) Stopwatch2: 1489655290393010 8470749; combined=0, p1=0, p2=0, p3=0, p4=0, p5=0, sr=0, sw=0, l=0, gc=0 Response-Body-Transformed: Dechunked Producer: ModSecurity for Apache/2.9.1 (http://www.modsecurity.org/). Server: Apache/2.4.25 (Win64)

2022-01-25 05:39:18   apache   httpd.conf   mod-jk   mod-security2

Google Cloud ML scipy.misc.imread 返回(Google Cloud ML scipy.misc.imread returning <PIL.JpegImagePlugin.JpegImageFile>)

问题 我正在运行以下代码段: import tensorflow as tf import scipy.misc from tensorflow.python.lib.io import file_io file = file_io.FileIO('gs://BUCKET/data/celebA/000007.jpg', mode='r') img = scipy.misc.imread(file) 如果我在 Cloud Console 中运行该代码段,我会得到一个正确的数组。 但是当同样的代码片段在 Cloud ML 中运行时,img 对象是 <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=178x218 at 0x7F1F8F26DA10> 这个 stackoverflow 答案表明安装 PIL 时未安装 libjpeg。 Cloud ML 运行时版本列表显示,对于 Tensorflow 0.12,libjpeg-dev 是已安装的 debian 软件包。 回答1 我能够在 Cloud ML 上重现此问题,这似乎是 Tensorflow 0.12.1 中 file_io 版本的问题,如果安装了 Tensorflow 1.0,它就会消失。 如果可以,请升级到 TF 的 1.0 版本。 如果您需要 0.12 版本

2022-01-25 05:39:10   scipy   google-cloud-platform   google-cloud-ml   google-cloud-ml-engine

在 Octave 中求解两个非线性方程(Solving two non-linear equations in Octave)

问题 我正在尝试使用 Octave 解决以下两个方程: eqn1 = (wp/Cwc)^(2*N) - (1/10^(0.1*Ap))-1 == 0; eqn2 = (ws/Cwc)^(2*N) - (1/10^(0.1*As))-1 == 0; 我使用了以下代码: syms Cwc N eqn1 = (wp/Cwc)^(2*N) - (1/10^(0.1*Ap))-1 == 0; eqn2 = (ws/Cwc)^(2*N) - (1/10^(0.1*As))-1 == 0; sol = solve(eqn1 ,eqn2, Cwc, N) ws 、 wp 、 As和Ap分别给出为1.5708 、 0.31416 、 0.5 、 45 。 但我收到以下错误: 错误:Python 异常:NotImplementedError:无法解决126491*(pi*(3*10**N*sqrt(314311)*pi**(-N)/1223)**(1/N)/2)**(2*N) - 126495 发生在 Python 代码块的第 7 行: d = sp.solve(eqs, *symbols, dict=True) 我应该怎么做才能解决这个问题? 编辑: 我稍微修改了方程式。 pkg load symbolic clear all syms Cwc N wp = 0.31416 ws = 1.5708

2022-01-25 05:39:03   octave   equation-solving

.dll 导入部分下面的 Dumpbin 输出含义(Dumpbin output meaning below .dll import part)

问题 这是我在运行 dumpbin .exe 文件时得到的一部分。 Section contains the following imports: KERNEL32.dll 5A71E8 Import Address Table 620468 Import Name Table 0 time date stamp 0 Index of first forwarder reference 458 SetErrorMode 2B9 GlobalFlags 64 CompareStringW 206 GetLocaleInfoW 26E GetSystemDefaultUILanguage 418 RtlUnwind 300 IsDebuggerPresent 304 IsProcessorFeaturePresent B5 CreateThread 11A ExitThread 119 ExitProcess 217 GetModuleHandleExW 2D1 HeapQueryInformation 487 SetStdHandle 1F3 GetFileType 4F1 VirtualQuery 264 GetStdHandle 263 GetStartupInfoW 这部分在 SECTION HEADER #2 ( .rdata name...) 下我不知道 KERNEL32

2022-01-25 05:38:49   dll   exe   coff   dumpbin