1
la2la 2019-05-11 10:56:01 +08:00
selenium 会破坏 scrapy 的异步性吧?感觉快不了多少。如果真的要配合 selenium 的话,可以在下载中间件中用,返回 response 对象,绕开默认下载器
|
2
zgoing 2019-05-11 11:59:33 +08:00 via iPhone
和 scrapy 配合使用的好像都是 splash
|
3
aquariumm 2019-05-11 12:03:14 +08:00 via Android
我的经验是尽可能逆向 js,直接抓最根本的请求,效率巨高
或者用 js 渲染库,scapy 不清楚,requests 和 js 有渲染库的 其实逆向 js 很简单的,js 要么 xhr,要么内置 url 都很好找的 |
4
XSugar 2019-05-11 12:40:55 +08:00 via iPhone
middle 里面换掉
|
5
Jaho 2019-05-11 14:55:37 +08:00
|
6
911speedstar OP @zgoing 试过了,因为需要翻页,splash 无法解决
|
7
911speedstar OP @aquariumm 逆向 js 后的效率,的确会高很多。但是我对 js 语言不是很熟悉,一看到长串的 js,就感觉没头绪。。。
|
8
911speedstar OP @la2la 效率上应该不会快太多。我是想做成分布式,开 2-4 个 driver 来做,这样比单纯的 selenium 要快一些
|
9
911speedstar OP @XSugar 试一下了。。
|
10
aquariumm 2019-05-11 17:28:17 +08:00 via Android
@911speedstar 翻页直接抓包啊,八成是 xhr 实现的
|
11
smallgoogle 2019-05-11 23:38:00 +08:00
可以直接把 JS 下载回来。python 载入然后解密呀。这样你只需要找到 js 的加解密函数就可以了呀。
|
12
exip 2019-05-12 09:00:35 +08:00 via Android
selenium 保存 cookies 后传给 scrapy,等再需要 selenium 上场时 scrapy 再把 cookies 传回来。
|