还说不会爬虫?点了就能爬的爬虫源代码,不信?你试试?

425 阅读2分钟

爬取数据,远远没有你想象中的那么难。前提是你得会,不是说会者不难嘛。良心分享,源码贴出,不信你敲敲看哦。

\

试试代码行不行,绝对没问题,哈哈如果有问题,再来找小编。

\

使用python编写的爬虫源代码


\

# 抓取网址:data.wxb.com/rank import requests import json import urllib.request headers = {"Accept": "application/json, text/plain, /",            "Accept-Encoding": "gzip, deflate",            "Cache-Control": "no-cache",            "Connection": "close",            "Cookie": "PHPSESSID=tp0vt9ahpnbku996vvuretjkc0; visit-wxb-id=837b20bccb3f77a1a8e5b6df0c4c4f20; IESESSION=alive; _qddamta_4009981236=3-0; pgv_pvi=2412895232; pgv_si=s7791044608; tencentSig=5037132800; wxb_fp_id=1381177533; Hm_lvt_5859c7e2fd49a1739a0b0f5a28532d91=1504086148; Hm_lpvt_5859c7e2fd49a1739a0b0f5a28532d91=1504087022; _qddaz=QD.sb0qu8.355lwa.j6yu23d8; _qdda=3-1.1; _qddab=3-996f34.j6yu23da",            "Referer": "data.wxb.com/searchResul…",            "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.109 Safari/537.36",            "X-Postman-Interceptor-Id": "6c06f41b-ba61-17a1-9c50-fb545d4753e7",            "X-Requested-With": "XMLHttpRequest"} url = 'data.wxb.com/search' # 结果写入文件 flow = open('Wechat public platforms.json', 'w') mydata = [] for i in range(0, 25):     myParams = {'page': i,         'page_size': 10,         'kw': '数据分析',         'category_id' : '',         'start_rank': '',         'end_rank' : '',         'fans_min': '',         'fans_max': '',         'sort' : '',         'is_verify' : 0,         'is_original' : 0,         'is_continuous' : 0}          req = requests.get(url,params=myParams, headers=headers)     mydata.extend(req.json()['data']) json.dump(mydata, flow) flow.close() print(len(mydata))

\

小坑你发现了吗


爬出来的结果比网页上多出了10条数据,竟验证猜想,确实是有一部分数据重复了。这是为什么呢,经过调试验证,原来错误出在这里。聪明如你,细心如你,你发现这个坑了嘛?

\

平时使用range()呢,习惯从0开始,到长度值为止。重复的是第一个页面的结果,也就是说网站上参数本来应该是Page从1开始的。这样写循环,page从0开始,倒是也不会报错。但是爬出来的数据第一页的10条数据就都重复了。

\

\

json文件是不是就这样不花一分钱拿到了?愿君过个好周末,明天咱们把数据处理来做一做。

\

点击下方二维码,关注“数据分析师手记”,和三月桑一起修炼数据分析师~

\