宇宙主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

欧基零壹微头条IP归属甄别会员请立即修改密码
查看: 11840|回复: 19

[Windows VPS] 听说论坛里很多python高手,那么问题来了。。。

[复制链接]
发表于 2018-4-20 13:06:34 | 显示全部楼层 |阅读模式
100金钱
本帖最后由 hud 于 2018-4-20 23:51 编辑

我要爬取https://daojia.jd.com/html/index.html#storeHome/storeId:11679831/orgCode:304477/formFenxiang:false/res_type:storeList这个页面的数据,就是名称和价格。因为是动态加载页面,所以用的splinter。但是不知道splinter怎么获取名称和价格。
--------
<dl><dt>迷你小黄瓜 450g-550g/份</dt> <dd class="aha"><strong class="line_pre">月售25件</strong> <var class="line_split"></var> <strong class="line_after">好评100%</strong></dd><dd></dd><dd class="a4e store-good-price-wrap-padding"><label><em>¥</em>8.8</label> </dd>  </dl>
-------
browser.find_by_tag也不行。

已经用selenium解决,谢谢各位大佬。

最佳答案

查看完整内容

刚刚说错了 见谅 正确方法: import urllib.parse urllib.parse.unquote(encoded_url) 然后就能解析出发送数据的格式 然后修改 然后用urllib.parse.quote(decoded_url)请求数据
发表于 2018-4-20 13:06:35 | 显示全部楼层
本帖最后由 eqblog 于 2018-4-20 14:18 编辑
hud 发表于 2018-4-20 13:57
大佬,这个值怎么修改?
djrandom=15242011656893&functionId=productsearch%2Fsearch&body=%7B%22key%22 ...


刚刚说错了 见谅
正确方法:
import urllib.parse
urllib.parse.unquote(encoded_url)
然后就能解析出发送数据的格式 然后修改 然后用urllib.parse.quote(decoded_url)请求数据


发表于 2018-4-20 13:07:42 | 显示全部楼层
Python [1]  (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
7月20日,IEEE发布2017年编程语言排行榜:Python高居首位 [2]  。
2018年3月,该语言作者在邮件列表上宣布 Python 2.7将于2020年1月1日终止支持。用户如果想要在这个日期之后继续得到与Python 2.7有关的支持,则需要付费给商业供应商。
 楼主| 发表于 2018-4-20 13:12:01 | 显示全部楼层
这是大佬的ai回帖?
发表于 2018-4-20 13:12:50 | 显示全部楼层

直接解析这个不行?
发表于 2018-4-20 13:13:21 来自手机 | 显示全部楼层
selenium或者看js
 楼主| 发表于 2018-4-20 13:15:15 | 显示全部楼层
这个是动态加载的页面。直接解析的话,不完全,后面还有内容没显示。后面还有,必须下拉才行的。
发表于 2018-4-20 13:15:33 | 显示全部楼层
本帖最后由 eqblog 于 2018-4-20 13:24 编辑

我建议你直接解析js爬



后面还有就得你自己解析规则了。。


算了我还是说完整点吧,
_djrandom=15242011656893&functionId=productsearch%2Fsearch&body=%7B%22key%22%3A%22%22%2C%22catId%22%3A%22%22%2C%22storeId%22%3A%2211679831%22%2C%22sortType%22%3A1%2C%22page%22%3A1%2C%22pageSize%22%3A10%2C%22cartUuid%22%3A%22%22%2C%22promotLable%22%3A%223%22%2C%22timeTag%22%3A1524201165372%7D&appVersion=5.2.0&appName=paidaojia&platCode=H5&jdDevice=&signKey=bf2f52936dc8b91fc37230f6d5d40dc0&jda=122270672.534238949.1521674021.1521776846.1523854618.4

然后解码下你就可以看到  有个 body:{"key":"","catId":"","storeId":"11679831","sortType":1,"page":1,"pageSize":10,"cartUuid":"","promotLable":"3","timeTag":1524201165372}

修改这里的值就能获取每个分类 页数的数据
发表于 2018-4-20 13:26:59 来自手机 | 显示全部楼层
现在还有人有耐心研究js啊,selenium或者splash之类一把梭啊。
发表于 2018-4-20 13:27:30 | 显示全部楼层
楼主 还要再完整点吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|宇宙主机交流论坛

GMT+8, 2024-10-30 13:36 , Processed in 0.060869 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表