Python爬虫技巧:百万级数据怎么爬取

22 篇文章 0 订阅
订阅专栏
22 篇文章 1 订阅
订阅专栏
15 篇文章 1 订阅
订阅专栏

如今互联网时代,爬虫无处不在,许多行业都使用爬虫采集数据,比如电子商务行业,在大量的数据中可以挖掘有价值的资料。

采集的平台有大有小,小平台好采集,但大平台就不容易了,除了反爬机制厉害之外,技术难度也增加了。如果需要采集上百万的数据,应该怎么采集呢?下面跟**万变ip**加速器工程师一起去了解一下百万级数据怎么爬取。

一、百万级的数据
1.目标网站的选择
次我选择的是大名鼎鼎的Stackoverflow, 程序员心中有两大圣殿。一个是GitHub里面有很多很多好的库和源码,一个就是Stackoverflow里面有很多大牛帮忙回答问题。我们打开Stackoverflow,然后搜索Python相关的问题:
在这里插入图片描述

2.页面分析
发现一共有88万多个问题,再看一下页面的列表规律,我们按照每页最大显示50个问题,一共有17776页,数据非常大

在这里插入图片描述

二、爬虫的策略
目前为止我还没有爬过这么大的数据量,这次看来必须要用神器了scrapy.其实在用神器之前,我们自己写了多并发的多线程池,我测了一下速度还可以,爬取500个数据大概有6秒左右,跟scrapy差不多
在这里插入图片描述

但是考虑到稳定性和方便扩展性,还是用Scrapy比较方便一些
1.页面的爬取
scrapy的文章和资料非常多,基础知识这里我就不细细讲解.scrapy的内置功能非常强大,如果玩爬虫scrapy是必须要学习的,使用起来需要按照它的套路,就像乐高玩具一样,一块一块的搭起来就可以.下面我们讲一下几个关键的点:
1).页面列表的构建
整个的stackoverflow上关于Python的问题页面非常规整,我们可以很容易的构建列表,比如前1000页range(1,1000),range(1000,2000):
在这里插入图片描述

2).单页面的爬取
我们用scrapy genspider产生一个spider文件,我们用这个文件主要爬取页面的内容,每个问题的内容都非常的规则,我们用css非常容易可以提取:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201024152350187.png#pic_center

我们主要提取问题标题,问题描述,view,vote,answers,提问时间和用户的名字这7个维度
在这里插入图片描述

2.数据的存储
我们需要在items.py里面构建一个存储的数据结构类,把这个7个特征存起来
在这里插入图片描述

然后在上面的spider类里面把页面解析的数据一一对于存起来
item = StackoverflowItem()
item[ ‘desc’] = desc
item[ ‘title’] =title
item[ ‘view’] =view
item[ ‘answer’] =answer
item[ ‘vote’] =vote
item[ ‘start’] = start
item[ ‘user’] = user
yield item
三、大规模的爬取
看起来好像一切顺利,于是我们开始运行爬虫爬取,大概爬取12000个数据左右,IP就会被封掉,大量的429 错误代码会出现.很明显有反爬的策略.这个时候我们的本机IP已经封掉了,这个时候想要继续爬取,有两个办法:
第一种办法:用代理IP
1).构建一个随机的代理池
网上免费的代理IP池很多,我们可以自己本地解析这些网页构建一个代理池,存在数据库里面,也可以访问一个付费的稳定的代理.
2).构建一个下载的中间价
Scrapy强大之处在于,它给了我们很多接口,扩展性非常好!基本上爬虫的方方面面它都内置了,类似Django真是居家旅行必备。我们只需要几行代码就能搞定

不要忘记了在Setting里面配置一下:
DOWNLOADER_MIDDLEWARES= {
‘stackoverflow.middlewares.RandomProxyMiddleware’: 543,
}
但是代理的ip非常不稳定,尤其是免费的。而且代理IP爬取的时间会比本机更慢,毕竟中间加了中转
第二种方法:重启猫继续用本机IP
一般重启家里的路由器有的时候会换本机的IP地址,因为本机的IP地址爬取的速度是最快,然后放慢爬取的速度,加一些delay.
我采用了第二种方法,爬了999页大概49950条数据,并且放慢了速度,大概需要20分钟左右
在这里插入图片描述

我们一共有近90万的数据需要爬取,如果按照这样的速度去爬取的话,大概需要7个小时才能完全爬取完毕。Scrapy提供了非常完善的异常处理和log分析,即使我们中间爬取出错了,我们依然可以获得已经爬取的数据.当然有条件的话可以放在服务器上去爬取,速度会更快.
四、尝鲜看一下数据
数据长啥样,我们随机拿5条出来看一下,数据比较粗糙没有经过清洗,里面比较有价值的是它的view值和answer值,还有时间和标题
在这里插入图片描述

目前才近10万条的数据,我们先尝鲜看一下,里面最火的一个问题被998个人围观:
在这里插入图片描述

结论:
上文详细的介绍了百万级数据怎么爬取,其实百万数据的爬取其上没有我们想象的那么难,只要熟练使用框架,控制爬取的速度,分段爬取还是可以的! 如果有稳定的代理池和高性能的服务器那就更爽啦。代理池可以自己搭建,也可以选择购买,比如万变ip代理,拥有上千万的IP池,定期更新IP,满足爬虫需求。

Python爬虫案例:实战课件与完整代码资源
10-20
这一份资源汇集了Python爬虫领域的多个案例,包括了详细的课件和完整的源代码,旨在帮助你掌握网络数据抓取和爬虫编程的技能。资源中的案例覆盖了从基础到高的主题,让你能够逐步提升你的爬虫开发技能。 适用人群: Python初学者:想要了解爬虫编程的基本概念和技巧。 网络数据分析师:希望使用爬虫技能获取特定数据进行分析。 开发者和工程师:有兴趣构建自己的网络爬虫工具或自动化抓取数据的应用。 能学到什么: 基本爬虫编程原理和流程。 如何使用Python库(如Beautiful Soup、Requests等)来执行数据抓取。 如何处理不同类型的网页内容和数据。 实战案例,包括爬取网页内容、抓取图片、登录网站等。 阅读建议: 建议你从简单的案例开始,逐步挑战更复杂的项目。阅读课件,理解案例代码,然后尝试自己编写类似的爬虫。透过实际操作,你将更好地理解Python爬虫的原理和实践,为日后的网络数据获取和分析积累宝贵经验。
Python爬虫爬取电影票房数据及图表展示操作示例
09-17
主要介绍了Python爬虫爬取电影票房数据及图表展示操作,结合实例形式分析了Python爬虫爬取、解析电影票房数据并进行图表展示操作相关实现技巧,需要的朋友可以参考下
Python爬虫 | 如何用Python爬虫一天内收集数百万数据
最新发布
m0_48891301的博客
10-09 898
通过以上方法,我们可以快速高效地收集大量数据。当然,爬虫程序也需要注意一些问题,比如遵守网站的爬虫规则、防止IP被封禁等。除此之外,我们还可以对爬取到的数据进行清洗、分析和可视化,从而获得更有价值的信息。Python爬虫是一项强大而又实用的技术,它可以帮助我们快速获取大量数据,提高工作效率。我准备了一些非常系统的Python资料,除了为你提供一条清晰、无痛的学习路径,还甄选了最实用的学习资源以及庞大的主流爬虫案例库。短时间的学习,你就能够很好地掌握爬虫这个技能,获取你想得到的数据
分分钟百万数据的微博爬虫分析
Alian_W的博客
04-20 9708
微博爬虫系列2-分析微博接口 大家好,我是W 经过上一篇的分析我们无意中发现了微博的接口,并且不做任何的账号、流量限制可以直接获取最完整的微博数据。接下来我们就通过分析微博粉丝接口查看其中的数据结构顺便看看能不能找到其他api。 分析微博粉丝接口 由微博爬虫系列1可以知道无意间发现的微博粉丝接口可以高频请求数据,并且其返回的数据都是最权威最全的,甚至用户无法查看的数据都可以找到了。接下来我们要分析...
利用Python爬虫一天内抓取百万张网页的心得总结
qq_37117258的博客
06-06 1598
一、优化硬盘存储 所以千万网页的抓取是需要先设计的,先来做一个计算题。共要抓取一亿张页面,一般一张网页的大小是400KB左右,一亿张网页就是1亿X200KB=36TB 。这么大的存储需求,一般的电脑和硬盘都是没法存储的。所以肯定要对网页做压缩后存储,可以用zlib压缩,也可以用压缩率更好的bz2或pylzma 。 二、优化内存,URL去重 再来说内存占用问题,做爬虫程序为了防止重复抓取UR...
肺炎x光图片分类数据集-提供代码和教程.zip
06-16
肺炎x光图片分类数据集-提供tensorflow代码和教程,结合作者录制的b站视频,快速掌握不是梦。数据集详细信息请看https://blog.csdn.net/ECHOSON/article/details/117964438
在 chest X-ray 数据集上做肺分割
热门推荐
myboyliu2007的专栏
12-25 1万+
在 chest X-ray 数据集上做肺分割 介绍 在此任务中,您将开发一个系统,可以在胸部X光片中自动检测肺部的边界框。 对于这项任务,我们将使用一个名为[Yolo]的网络(https://arxiv.org/pdf/1506.02640.pdf) 。有关YOLO(以及最新的YOLOv2 / YOLO9000)方法的详细信息,请参阅以下文章: ** YOLO:统一的实时物体检测** [http...
医学影像数据
qq_45753667的博客
10-04 678
ODIR-5K包括5000名患者的年龄,双眼的彩色眼底照片和医生的诊断关键词。患者分为8个标签,包括正常(N),糖尿病(D),青光眼(G),白内障(C),AMD(A),高血压(H),近视(M)和其他疾病/异常(O)。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tRU10Ywx-1636195013860)(https://raw.githubusercontent.com/linhandev/dataset/main/static/Lung-PET-CT-Dx.png)]
x光肺部分割数据集_分享一个二次元插画的区域分割数据
weixin_34182361的博客
12-06 506
这个项目从2019年开始前前后后已经折腾了一年多了,最近想着写一个文档把一些有用的东西全部记下来方便想折腾的人继续折腾。简单的说就是给一张二次元的图片,我们想要把这个图分成很多个区域。这个事情看起来很简单但是其实非常极度极其的难。事实上我19年上半年折腾了大概四个月都没找到确实能用的东西,于是一气之下自己动手丰衣足食就有了这个数据集。顺便我也研究了一整套的分割的算法什么的于是这里全部分享出来吧,也...
医疗图像这6个数据集,赶紧收藏备用!
weixin_40920183的博客
10-20 1万+
平台的数据集版块,共有257个不同类别,不同应用的数据集。本周在此基础上,又上新6种动物相关的数据集,目前总共有263种数据集。(1)脑神经扫描fastMRI数据数据集图片:数据集内容:...
python爬虫 正则表达式使用技巧爬取个人博客的实例讲解
01-21
这篇博客是自己《数据挖掘与分析》课程讲到正则表达式爬虫的相关内容,主要简单介绍Python正则表达式爬虫,同时讲述常见的正则表达式分析方法,最后通过实例爬取作者的个人博客网站。希望这篇基础文章对您有所帮助,如果文章中存在错误或不足之处,还请海涵。真的太忙了,太长时间没有写博客了,抱歉~ 一.正则表达式 正则表达式(Regular Expression,简称Regex或RE)又称为正规表示法或常规表示法,常常用来检索、替换那些符合某个模式的文本,它首先设定好了一些特殊的字及字符组合,通过组合的“规则字符串”来对表达式进行过滤,从而获取或匹配我们想要的特定内容。它具有灵活、逻辑性和功能性非常的强,
利用python如何处理百万数据(适用java新手)
01-20
1、前言 因为负责基础服务,经常需要处理一些数据,但是大多时候采用awk以及java程序即可,但是这次突然有百万数据需要处理,通过awk无法进行匹配,然后我又采用java来处理,文件一分为8同时开启8个线程并发处理,但是依然处理很慢,处理时长起码在1天+所以无法忍受这样的处理速度就采用python来处理,结果速度有了质的提升,大约处理时间为1个小时多一点,这个时间可以接受,后续可能继续采用大数据思想来处理,相关的会在后续继续更新。 2、安装python  第一步首先下载python软件,在官网可以根据自己情况合理下载,大家也可以通过软件开发网进行下载其余就是下一步搞定,然后在开始里面找到
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
09-09
主要介绍了Python3实现的爬虫爬取数据并存入mysql数据库操作,涉及Python正则爬取数据及针对mysql数据库的存储操作相关实现技巧,需要的朋友可以参考下
Python爬虫爬取、解析数据操作示例
09-17
主要介绍了Python爬虫爬取、解析数据操作,结合实例形式分析了Python爬虫爬取、解析、存储数据相关操作技巧与注意事项,需要的朋友可以参考下
【php爬虫百万别知乎用户数据爬取与分析
weixin_30677073的博客
09-28 614
代码托管地址:https://github.com/hoohack/zhihuSpider 这次抓取了110万的用户数据数据分析结果如下: 开发前的准备 安装Linux系统(Ubuntu14.04),在VMWare虚拟机下安装一个Ubuntu; 安装PHP5.6或以上版本; 安装MySQL5.5或以上版本; 安装curl、pcntl、pdo扩展。 使用PHP的c...
吴恩达发布了大型X光数据集,斯坦福AI诊断部分超越人类 | AAAI 2019
量子位
01-24 2036
数栗子 发自 凹非寺量子位 报道 | 公众号 QbitAI最近,吴恩达的斯坦福团队发布了一个叫做CheXpert的大型数据集,论文中选了AAAI 2019。它包含了224...
【医学图像分割】KiTS19 肾脏肿瘤原始图像image数据集获取方法踩雷
m0_52451635的博客
11-30 3646
【医学图像分割】KiTS19 肾脏肿瘤原始图像image数据集获取方法踩雷 获取KiTS19 肾脏肿瘤分割数据集时候,官网https://kits19.grand-challenge.org/ 上的git仓库中https://github.com/neheller/kits19提供了一部分数据集,这部分数据集是已经分割过的数据,如下,这是分割过的,但是还缺少原始图像的数据集 这部分数据是imaging.nii.gz, 获取imaging.nii.gz有两种方法,第一种是按照官网给的方法https://gi
x光肺部分割数据集_LIDC-IDRI肺结节Dicom数据集解析与总结
weixin_39922374的博客
12-18 3193
一、数据源训练数据源为LIDC-IDRI,该数据集由胸部医学图像文件(如CT、X光片)和对应的诊断结果病变标注组成。该数据是由美国国家癌症研究所(National Cancer Institute)发起收集的,目的是为了研究高危人群早期癌症检测。该数据集中,共收录了1018个研究实例。对于每个实例中的图像,都由4位经验丰富的胸部放射科医师进行两阶段的诊断标注。在第一阶段,每位医师分别独立诊断并标注...
【图像分割】KiTS19 肾脏肿瘤分割数据集获取方法
lynnhgwang的博客
04-15 6261
比赛官网:KiTS19 Challenge Homepage 数据集下载方法 1. 找到官方提供的项目的github地址 2. 将该项目clone或者下载本地。 data目录下就是数据集300个标签数据,但没有原图数据。 根据README的提示,需要运行项目进行原图数据的获取。 我在命令行里面运行了该项目,发现数据下载的速度非常缓慢,并且有些数据只能下载一部分。 解决.........
python爬虫爬取微博数据
08-20
通过Python网络爬虫技术,我们可以方便地爬取微博数据。首先,我们需要掌握Python网络爬虫数据抓取的方法与技巧。网络爬虫数据获取方面有着广泛的应用,能够帮助我们从互联网上抓取大量的数据用于分析和应用。 在爬取微博数据的过程中,我们可以使用解析页面的方法来获取微博的文本内容。可以对文本内容进行简单的清洗操作,比如去除换行符等,这样可以使结果更加干净。 接下来,我们可以定义爬取微博数据的具体信息。例如,可以指定微博的起始时间、是否将数据写入数据库等。此外,我们还可以在代码的基础上增加新的功能,比如增加一个cookie池或者代理池等。 总结来说,通过Python爬虫技术可以方便地爬取微博数据,并且可以通过自定义参数来获取所需的信息,同时还可以根据需求增加功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python网络爬虫数据抓取.md](https://download.csdn.net/download/pleaseprintf/88229800)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [python3--爬虫--微博爬虫实战](https://blog.csdn.net/weixin_46863267/article/details/108512962)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Python 超简单爬取新浪微博数据](https://blog.csdn.net/four91/article/details/106192297)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 分享一个便宜又好用的代理ip 20472
  • Python爬虫技巧:百万级数据怎么爬取 6202
  • 网络爬虫ip防止被封常见的三种解决方法 4862
  • 解决爬虫ip被限制的方法 2722
  • 爬虫如何获取大量的ip? 2426

分类专栏

  • 编程 22篇
  • Python爬虫 4篇
  • http代理 4篇
  • http代理ip 15篇
  • 网络爬虫 22篇

最新评论

  • 解决爬虫ip被限制的方法

    Bearcandy: 小熊IP代理我用的蛮好的也可以考虑一下哦

  • Python爬虫技巧:百万级数据怎么爬取

    透明小孩: 大佬,有无代码分享一下

  • 分享一个便宜又好用的代理ip

    zn1159858798: 可以用下他家的,真的好用,也比较稳定https://h.shenlongip.com/index?from=seller&did=8rCr8U

  • 分享一个便宜又好用的代理ip

    m0_67193141: 天启ip挺好用的,可以试试看https://www.tianqiip.com/?from=seller&did=DQjeD8

  • 分享一个便宜又好用的代理ip

    其樂无穷: 这个网站好像不能再注册了,是不是倒闭了0.0 。up有别的推荐吗

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 代理ip的分类,你了解吗?
  • 分享一个便宜又好用的代理ip
  • 网络爬虫如何巧妙运用IP技巧
2020年27篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳SEO优化公司陇南网站搭建价格深圳百度网站优化排名报价宁波企业网站设计广东关键词排名包年推广多少钱宿州外贸网站建设多少钱海南模板推广推荐滨州seo优化塔城网络推广黄山关键词按天扣费价格永新SEO按效果付费哪家好潜江网站seo优化公司广州seo报价黔东南外贸网站建设哪家好云浮外贸网站制作公司贵阳网站设计多少钱钦州网站优化推广公司广元SEO按效果付费报价无锡品牌网站设计公司大运网站改版推荐广东优秀网站设计多少钱北京百度标王多少钱衡水百度竞价多少钱乐山百度网站优化排名哪家好唐山百度网站优化公司清徐营销网站哪家好贵港网站seo优化光明营销网站哪家好永州高端网站设计推荐大运模板制作推荐长治网站搜索优化推荐歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化