前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python数据去重的一些方案

python数据去重的一些方案

作者头像
小白学大数据
发布2024-06-08 17:37:21
770
发布2024-06-08 17:37:21
举报
文章被收录于专栏:python进阶学习

学习爬虫技术的主要作用就是能获取数据,很多爬虫小伙伴每天需要获取的数据量都不小,这也跟业务需求量有关系。我们在使用python采集大量数据的时候有一些方式,有需求的可以借鉴学习下。 1、先学习 Python 包并实现基本的爬虫过程,Python中爬虫的包很多,初学建议可以从requests包和Xpath包开始学习,requests包主要负责连接网站,返回网页,而Xpath用于解析网页,便于抽取数据。还有其他的一些功能强大的包可以去慢慢的了解下。 2、掌握反爬虫技术,我们在爬虫过程中一般会遇到网站封IP、动态加载或各种奇怪的验证码和userAgent访问限制等问题。这时我们就需要控制用访问频率、使用代理IP池、抓包、验证码的OCR等手段来解决。最简单的代理池的使用可以分享给大家参考下:

#! -- encoding:utf-8 --

代码语言:javascript
复制
import requests
import random

# 要访问的目标页面
targetUrl = "http://httpbin.org/ip"

# 要访问的目标HTTPS页面
# targetUrl = "https://httpbin.org/ip"

# 代理服务器(产品官网 www.16yun.cn)
proxyHost = "t.16yun.cn"
proxyPort = "31111"

# 代理验证信息
proxyUser = "username"
proxyPass = "password"

proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
    "host" : proxyHost,
    "port" : proxyPort,
    "user" : proxyUser,
    "pass" : proxyPass,
}

# 设置 http和https访问都是用HTTP代理
proxies = {
    "http"  : proxyMeta,
    "https" : proxyMeta,
}


#  设置IP切换头
tunnel = random.randint(1,10000)
headers = {"Proxy-Tunnel": str(tunnel)}



resp = requests.get(targetUrl, proxies=proxies, headers=headers)

print resp.status_code
print resp.text

3、数据去重,爬虫可以根据不同的场景制定不同的去重方案。比如:(1)少量数据,只有几万或者十几万条的情况,可以使用Map或Set便可;(2)中量数据,如果是几百万或者上千万,使用BloomFilter可以解决;(3)大量数据,上亿或者几十亿,Redis可以解决。以上这些只是分享,大家如果有更好的方式可以留言交流学习下。

suger今天 15:4700

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档