有关爬虫浏览量的问题

昨天写了一个小爬虫,来爬取58上面商品的浏览量,在58上,商品信息分个人和商家,在爬取个人的商品浏览量时,做一些标签位置的分析,就可以定位到浏览量,但是在运行中出现了错误,原来里面含有商家商品,商家商品浏览量和个人不太一样,浏览量的抓取做了反爬虫,上面的做法,无法爬取,后来我做了一些简单的分析。

打开chrome的检查,
这个内容里面,可以看到浏览量的信息

Counter58.userlist[0]={uid:’0’,uname:”,face:”,vt:”};Counter58.total=2737
点开可以看到2737次浏览

def get_views_from(url):
    # url后面带有问号和参数,取问号前的url
    url_path = url.split("?")[0]
    # 取最后一节url信息,其带有id信息
    url_last_part = url_path.split('/')[-1]
    # 去掉后面的x.shtml,得到id
    info_id = url_last_part.strip('x.shtml')
    api = 'http://jst1.58.com/counter?infoid={}'.format(info_id)
    # 这个是找到了58的查询接口,不了解接口可以参照一下新浪微博接口的介绍
    # 浏览量的抓取做了反爬虫,因此加上header信息,不然返回为空
    headers = {
        'User-Agent':r'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36',
        'Cookie':r'id58=c5/ns1ct99sKkWWeFSQCAg==; city=bj; 58home=bj; ipcity=yiwu%7C%u4E49%u4E4C%7C0; als=0; myfeet_tooltip=end; bj58_id58s="NTZBZ1Mrd3JmSDdENzQ4NA=="; sessionid=021b1d13-b32e-407d-a76f-924ec040579e; bangbigtip2=1; 58tj_uuid=0ed4f4ba-f709-4c42-8972-77708fcfc553; new_session=0; new_uv=1; utm_source=; spm=; init_refer=; final_history={}; bj58_new_session=0; bj58_init_refer=""; bj58_new_uv=1'.format(str(infoid)),
        'Accept': '*/*',
        'Accept-Encoding': 'gzip, deflate, sdch',
        'Accept-Language': 'zh-CN,zh;q=0.8',
        'Cache-Control': 'max-age=0',
        'Connection': 'keep-alive',
        'Host':'jst1.58.com',
        'Referer':r'http://zhangzhou.58.com/pingbandiannao/27948824287934x.shtml'.format(info_id)
    }
    r = requests.get(api, headers=headers)
    # 判断状态码,检查是否被网站封ip
    if r.status_code == 200:
        return r.text.split('=')[-1]
    return 0
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值