实在是没思路了,麻烦大佬给看看,这个怎么搞出来 [爬虫]

2022-09-06 09:08:10 +08:00
 Soler
<html>
状    态:
<script type="text/javascript"> if (2 == EQUIP_PAID || 2 == EQUIP_TRADE_FINISH || 2 == EQUIP_TAKE_AWAY) { document.write("已出售"); } else { document.write('上架中'); } </script>
</html>

怎么能够解析出来 dd 标签里面的值,是已出售 或者是 上架中。

3801 次点击
所在节点    Python
11 条回复
masker
2022-09-06 09:10:04 +08:00
pyppteer
Soler
2022-09-06 09:35:20 +08:00
@masker 感谢提供思路, 我研究一下
lanjz
2022-09-06 09:59:44 +08:00
其实要获取的就是那个 if 里面的 2 ,把那个数值提取出来再判断下就好了。
q1angch0u
2022-09-06 10:15:39 +08:00
"dd 标签"是啥?
musi
2022-09-06 10:27:48 +08:00
其实你只要能拿到 EQUIP_PAID EQUIP_TRADE_FINISH EQUIP_TAKE_AWAY 这几个变量就行了,建议给出具体的网页代码
pcbl
2022-09-06 10:38:32 +08:00
selenium 拿 js 解析后的源码
Soler
2022-09-06 10:55:55 +08:00
@musi 这几个值没有找到的,使用模板类语音渲染的时候这些值没在页面定义
musi
2022-09-06 11:15:17 +08:00
@Soler # 7 所以才建议你给出具体的网页代码,这些变量是肯定有定义的,不然这段 js 就报错了
Juszoe
2022-09-06 12:36:33 +08:00
盲猜 EQUIP_*其实是常量,前面的 2 才是动态渲染的,所以就简单了,你看一下可能的值有哪三种就行了,然后正则提取一下数字
likunyan
2022-09-06 13:47:42 +08:00
断点下
Soler
2022-09-06 13:50:48 +08:00
@masker 感觉提供思路,根据该包找到了 gerapy-pyppeteer ,可以配合 scrapy 使用,解决了问题。谢谢各位,原网站不便发出来,感谢其他伙伴理解。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/877976

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX