Lin Xiangyu

Results 6 comments of Lin Xiangyu

你好, [Scrapy 的文档](https://doc.scrapy.org/en/latest/intro/install.html) 上写着,最新版本支持Python2.7 和 Python 3.3+(Windows 下不支持 Python 3)。 如果你用是 Windows 系统,我建议你尝试安装 Python 2.7 来试试。你可以用 Virtualenv 方便地来在系统中安装管理多个 Python 版本。 [LinkExtractor](http://udn.yyuap.com/doc/wiki/project/scrapy/link-extractors.html) 是 Scrapy 内建的一个 Extractor,它的作用就是从页面中分析所有链接,符合这个 LinkExtractor 规则的都会给你抽取出来,继续爬取。 自己手写爬虫遍历的思路是把当前已经处理过的页面 url 保存到数据库或者磁盘,中断之后重新爬取的时候,从保存的状态恢复而不是从头再来。...

因为我默认用 PAC 文件翻墙了所以会默认通过代理访问 Play,我把它也是部署在国外的 VPS 上。。 如果需要翻墙,无论是开 VPN 还是 Scrapy 的 HTTP 代理配置都可以。 如果内容是 JS 加载的那么 Scrapy 需要配合一个 webview 引擎来用才能解析到最后的结果,不过我爬的几个字段都是 HTML 里面有的,所以没有遇到。

当时确实能跑起来的...现在不确定了。 当时脚本里获取的信息是第一次 GET 网址就返回的 HTML 标签的内容,可能有其他内容是 AJAX 动态加载的。

我的理解是这样: 原来对象创建的时候,可能在 init 系列方法就做了一些初始化工作(打开文件,绑定端口,初始化成员变量等等),如上面的代码的例子是初始化 _dateFormatter。使用 lazy initialization 的时候,只有你第一次调用的时候 -dateFormatter 方法,才会做这些初始化的工作。 假如这些初始化工作很消耗性能,或者有一些问题,那么这些问题在对象初始化的时候就能被创建出来。但是使用 lazy initialization 后,实际的初始化工作是在后续某个执行过程中,才会做这些操作。那么你去测试性能或者用 Instrument 这些工具,就要去追踪后面的执行过程什么时候会调用到这个地方了,而不是单纯看哪个对象创建的时候比较耗时。

hi, 我调整了一下 issue 中代码的排版。 这个问题原文也没有用很确定的语气,我也是来共同探讨下。 如果直接在 block 内使用 block 外定义的 weakController, 那么在多线程执行的时候,比如在 block 内 ```Objective-C if (weakController) { doA(); doB(); } ``` 如果在 doA() 完成后,其他线程获取了控制权,减少了 weakController 的 retain,那么 weakController 可能就会变成...

Good idea,具体怎么来执行?我来联系熟悉的设计师看看