Python抓取淘宝IP地址数据
发布时间:2020-12-17 17:04:19 所属栏目:Python 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 def fetch(ip): url = 'http://ip.taobao.com/service/getIpInfo.php?ip=' + ip result = [] try: response = urllib.urlopen(url).read() jsondata =
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 def fetch(ip): url = 'http://ip.taobao.com/service/getIpInfo.php?ip=' + ip result = [] try: response = urllib.urlopen(url).read() jsondata = json.loads(response) if jsondata[u'code'] == 0: result.append(jsondata[u'data'][u'ip'].encode('utf-8')) result.append(jsondata[u'data'][u'country'].encode('utf-8')) result.append(jsondata[u'data'][u'country_id'].encode('utf-8')) result.append(jsondata[u'data'][u'area'].encode('utf-8')) result.append(jsondata[u'data'][u'area_id'].encode('utf-8')) result.append(jsondata[u'data'][u'region'].encode('utf-8')) result.append(jsondata[u'data'][u'region_id'].encode('utf-8')) result.append(jsondata[u'data'][u'city'].encode('utf-8')) result.append(jsondata[u'data'][u'city_id'].encode('utf-8')) result.append(jsondata[u'data'][u'county'].encode('utf-8')) result.append(jsondata[u'data'][u'county_id'].encode('utf-8')) result.append(jsondata[u'data'][u'isp'].encode('utf-8')) result.append(jsondata[u'data'][u'isp_id'].encode('utf-8')) else: return 0,result except: logging.exception("Url open failed:" + url) return 0,result return 1,result def worker(ratelimit,jobs,results,progress): global cancel while not cancel: try: ratelimit.ratecontrol() ip = jobs.get(timeout=2) # Wait 2 seconds ok,result = fetch(ip) if not ok: logging.error("Fetch information failed,ip:{}".format(ip)) progress.put("") # Notify the progress even it failed elif result is not None: results.put(" ".join(result)) jobs.task_done() # Notify one item except Queue.Empty: pass except: logging.exception("Unknown Error!") 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |