有关爬虫浏览量的问题

来源:互联网 发布:深圳华傲数据技术贷款 编辑:程序博客网 时间:2024/06/06 14:24

昨天写了一个小爬虫,来爬取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
0 0
原创粉丝点击