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

悬赏 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解决,谢谢各位大佬。

最佳答案

eqblog 查看完整内容

刚刚说错了 见谅 正确方法: import urllib.parse urllib.parse.unquote(encoded_url) 然后就能解析出发送数据的格式 然后修改 然后用urllib.parse.quote(decoded_url)请求数据
  • 2# eqblog
  • 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)请求数据


  • 3# pony
  • 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有关的支持,则需要付费给商业供应商。
  • 4# hud
  • 2018-4-20 13:12:01
这是大佬的ai回帖?

直接解析这个不行?
  • 6# 盟心
  • 2018-4-20 13:13:21
selenium或者看js
  • 7# hud
  • 2018-4-20 13:15:15
这个是动态加载的页面。直接解析的话,不完全,后面还有内容没显示。后面还有,必须下拉才行的。
  • 8# eqblog
  • 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}

修改这里的值就能获取每个分类 页数的数据
现在还有人有耐心研究js啊,selenium或者splash之类一把梭啊。
  • 10# eqblog
  • 2018-4-20 13:27:30
楼主 还要再完整点吗
12下一页