使用python的requests+bs4 实现京东的手机商品数据收集

本文介绍了使用Python的requests和BeautifulSoup库,结合京东商品搜索页面的URL规律,实现对京东手机商品数据的抓取。尽管评论数是异步加载的,作者通过分析网页源代码找到了获取评论的接口,构建出请求地址。文章提供了部分爬取代码,但提到对于每页后30项数据的获取还存在困惑。
摘要由CSDN通过智能技术生成

学习python有一段时间了,今天写写对京东的手机商品数据收集,权当练手,留个档

环境
win10、python3.7、pycharm

一.分析接口
在京东搜索手机这一标签,获得搜索主页面的url为

https://search.jd.com/Search?keyword=%E6%89%8B%E6%9C%BA&enc=utf-8&wq=%E6%89%8B%E6%9C%BA&pvid=c8b4672680884a47b2787147fe7a04a4

多次尝试后可得出地址规律为

"https://search.jd.com/Search?keyword="+ 商品名 + "&enc=utf-8&page=" + 页面号*2-1

接下来我们发现,要采集的数据中评论数是ajax异步加载的,因此无法通过requests获得
在这里插入图片描述

我在京东的网页源代码内看到这么一段代码

    SEARCH.get_comment_nums = function(B) {
        $.getJSON("//club.jd.com/comment/productCommentSummaries.action?referenceIds=" + B.replace(/J_/g, "") + "&callback=?", function(F) {
            if (typeof (F) != "object" || typeof (F.CommentsCount) != "object") {
                return false
            }
            for (var E = 0, D = F.CommentsCount, C = D.length; E < C; E++) {
                if (typeof (D[E].CommentCountStr) != "undefined" && !D[E].SensitiveBook) {
                    $("#J_comment_" + D[E].SkuId).html(D[E].CommentCountStr);
                    $("#J_comment_" + D[E].SkuId).parent(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值