舆情分析 - JD数据翻页抓取

JD数据翻页抓取前面已经做到评论分页抓取。但是JD搜索出的产品通常不止一页,我们也要对产品进行分页获取。然后在对每个产品进行分页抓取评论。实践index_page: 在这里进行搜索分页判断,如果有多个页面就 for i in range(1, int(page)) 来循环抓取detail_page: 这里是详情页面,跟之前的相比,优化了评论页数的判断。因为JD评论大于6页,...
摘要由CSDN通过智能技术生成

JD数据翻页抓取

前面已经做到评论分页抓取。但是JD搜索出的产品通常不止一页,我们也要对产品进行分页获取。

然后在对每个产品进行分页抓取评论。

实践

  • index_page: 在这里进行搜索分页判断,如果有多个页面就 for i in range(1, int(page)) 来循环抓取
  • detail_page: 这里是详情页面,跟之前的相比,优化了评论页数的判断。因为JD评论大于6页,会出现…无法获取全部的页数。
    • 如果小于6页,就循环抓取 : comment_page
    • 如果大于6页,就采用递归的方式。直到获取出的list为空,或者是已经到了最大100页面(JD展示maxpage是100页): comment_circle_page

Code:

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
# Created on 2017-12-28 10:48:50
# Project: NB_U_JD

from pyspider.libs.base_handler import *
import re
import json

# sys print config
import sys

reload(sys)
sys.setdefaultencoding('utf-8')
import uniout

# user class import
sys.path.append(unicode("F:\\Manager\\大数据\\Code\\localgit\\python", "utf-8"))
import utils.tool
import db.notebookdb


class Handler(BaseHandler):
    crawl_config = {
        "headers": {
            "user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"
        }
    }

    # debug, True:save local db; otherwise save to remote db
    DEBUG = True

    def __init__(self):
        # 搜索:华硕顽石畅玩版R414UV,按照价格排序,3000以上
        search_word = "华硕顽石畅玩版R414UV"
        price = "3000"
        self.url = 'https://search.jd.com/Search?keyword=' + search_word + '&enc=utf-8&wq=' + search_word + '&ev=exprice_' + price + 'gt%5E&psort=1&click=0'
        # comment url
        self.comment_url = "https://sclub.jd.com/comment/productPageComments.action?productId="
        # 翻页 url
        self.turnpage_url = self.url + '&page='
        # key word
        self.keyword = "顽石畅玩版R414UV"
        # product name
        self.productName = "顽石畅玩版R414UV"
        self.tool = utils.tool.Tool()
        self.mysql = db.notebookdb.MySQLDBHelp(Handler.DEBUG)

    TIME = 12 * 60  # 抓取频率, 有效期 (/分)

    @every(minutes=TIME)  # 每小时
    def on_start(self):
        self.crawl(self.u
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值