80行快乐代码与你窥探爬虫的数据深渊——教你如何高效快速任意爬虫(附大量项目案例和语法解析文章)

目录

爬虫之迷惑?

小白疑问?

爬虫到底是什么?

学习爬虫从初识爬虫开始

初识爬虫之概念认知篇

初识爬虫之安装准备篇

Python语法入门到精通

初识爬虫之基本原理篇

初识爬虫之爬虫概述篇

初识爬虫之urllib库使用篇

初识爬虫之requests库使用篇

初识爬虫之Xpath语法篇

爬虫之案例集合

Python爬取全网文字并词云分析(全程一键化!)

Python爬取微博热搜数据之炫酷可视化

站在上帝的角度挖掘数据——Python抓取10W+社科基金项目并可视化分析

Python爬取养老信息网案例

项目介绍

项目实现

完整源码点击此处下载!亲测可用!!!直接运行!!

数据集点击此处下载!!

每文一语


爬虫之迷惑?

小白疑问?

什么是爬虫?爬虫真的是虫虫吗?为什么叫爬虫呀?为什么不叫抓虫呀?哈哈哈哈,如果你是第一次接触爬虫或者Python那么你一定要仔细看完前期介绍。

爬虫顾名思义,就是爬虫,哈哈哈。

在互联网的汪洋大海里面,一切皆数据,前端工程师把数据和网页完美的结合在一起,他们以为这样是最美丽的契合,殊不知,后端的那些工程师宝宝们,一天没事干,把他们的老窝给惊扰了,爬虫给网站带来的危害是比较大的,如果一个服务器一般被很多用户访问,可能它会宕机,也可能会崩溃,那么一个机器通过编程手段来达到这个目的,一分钟的点击次数,同时点击所达到的次数,机器不会累,于是网站被他们端了。一切都要恰到好处,于是他们商量好了,礼貌的访问,隐隐约约的访问,悄悄咪咪的访问,有节制的去获取数据,慢慢的前端工程师和后端工程师关系越来也好了,最终他们诞生了幸福的结晶——大数据工程师!

哈哈哈,以上纯属娱乐,不做参考,不喜勿喷哟!

爬虫到底是什么?

简单来讲,爬虫就是一个探测机器,它的基本操作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来。就像一只虫子在一幢楼里不知疲倦地爬来爬去。

你可以简单地想象:每个爬虫都是你的「分身」。就像孙悟空拔了一撮汗毛,吹出一堆猴子一样。

你每天使用的百度,其实就是利用了这种爬虫技术:每天放出无数爬虫到各个网站,把他们的信息抓回来,然后化好淡妆排着小队等你来检索。
抢票软件,就相当于撒出去无数个分身,每一个分身都帮助你不断刷新 12306 网站的火车余票。一旦发现有票,就马上拍下来,然后对你喊:土豪快来付款。

爬虫的那些操作

爬虫也分善恶。

像谷歌这样的搜索引擎爬虫,每隔几天对全网的网页扫一遍,供大家查阅,各个被扫的网站大都很开心。这种就被定义为「善意爬虫」。

但是,像抢票软件这样的爬虫,对着 12306 每秒钟恨不得撸几万次。铁总并不觉得很开心。这种就被定义为「恶意爬虫」。(注意,抢票的你觉得开心没用,被扫描的网站觉得不开心,它就是恶意的。)

我们都是善意爬虫,因为我们有礼貌的去获取数据

学习爬虫从初识爬虫开始

之前我们写过很多关于爬虫的案例和语法合集,这里可以点击查看!逐渐更新中...........

初识爬虫之概念认知篇

带你认识什么是爬虫,如何用语文阅读的方式去理解编程,去感受爬虫的快乐!曾经有人说过,爬虫可以给他带来美感,我认为爬虫确实可以滴,不只是美感,而且还可以是快乐的美感哟!

初识爬虫之安装准备篇

爬虫必然要用到第三方库,这也是爬虫选择Python的原因之一,因为Python是一个富含维生素C的水果,哈哈哈,搞错了,是不是最近养成了吃VC的小习惯,被键盘知道了,哈哈哈,大家要记得多吃水果和蔬菜,补充微量元素哟!身体是你们赚钱的本钱,带你走向致富的道路!(#^.^#)

因为Python是一个拥有大量的第三方库的编程语言,之所以它被大数据和人工智能所青睐,那就是它的快速便捷,同比其他语言来说,它的优点就是简单但不失高级,晦涩但又不难理解,说的我们都快心动了,哈哈,如果你也想要学Python,快去看看这个专栏吧!带你从0到1,走向高薪职业哟!

Python语法入门到精通

初识爬虫之基本原理篇

爬虫的基本原理就像是我们小时候学习拼音那样,认识音节,知道如何去读,然后再去教你如何去写,爬虫也是这样,俗话说:知己知彼百战百胜

初识爬虫之爬虫概述篇

我们可以把互联网比作一张大网,而爬虫(即网络爬虫)便是在网上爬行的蜘蛛。 把网的节点比作一个个网页,爬虫爬到这就相当于访问了该页面,获取了其信息 。 可以把节点间的连线比作网页与网页之间的链接关系,这样蜘蛛通过一个节点后,可以顺着节点连线继续爬行到达下一个节点,即通过一个网页继续获取后续的网页,这样整个网的节点便可以被蜘蛛全部爬行到,网站的数据就可以被抓取下来了 。

初识爬虫之urllib库使用篇

初识爬虫之requests库使用篇

爬虫的基本思维就是,获取数据,存储数据,当然获取数据:就包括请求数据,然后解析数据,最后有选择性的去存储数据,这里两篇的技术文章,详细的介绍了爬虫的请求数据语法案例

初识爬虫之Xpath语法篇

之后就是解析数据了,最常的就是Xpath,beautifulsoup,正则表达式等,当然看你个人喜好和掌握程度,如果你喜欢简单快速的推荐使用Xpath和beautifulsoup,但是你必须要有足够的知识储备,这样才不会被一些坑坑过,要不然就去使用正则表达式,虽然繁琐,但是屡试不爽,哈哈哈!

爬虫之案例集合

我推荐两篇我个人觉得参考价值和娱乐性相对于比较高的三篇技术文章!

Python爬取全网文字并词云分析(全程一键化!)

一键化的操作,还是比较的舒服!

Python爬取微博热搜数据之炫酷可视化

文章里面有一个演示视频,还有bjm哟,哈哈哈,微博热搜,当时也是让这篇文章上了热搜了!

站在上帝的角度挖掘数据——Python抓取10W+社科基金项目并可视化分析

绝不是标题党,内容更真实!只要你点击去,或者关注哟!

在我看来,爬虫绝对不是简单获取数据那样,如果学习爬虫不是为了帮助减轻工作或者学习的烦恼,那就没有灵魂了!

Python爬取养老信息网案例

说了这么多的,当然绝对不是废话哈,磨刀不误砍柴工,如果你了解了这些基本的东西,学习起来也不会感到枯燥的!

项目介绍

有这样一个网站,它包含了中国的养老机构的信息,里面的数据可以作为科研人的资源,但是他们就是觉得有点麻烦,如果手动去找数据的话,于是我又踏上了帮助人的道路了

哈哈哈哈,加油!

项目实现

完整源码点击此处下载!亲测可用!!!直接运行!!

数据集点击此处下载!!

导入第三方库

  1. import requests
  2. from lxml import etree
  3. from fake_useragent import UserAgent
  4. import pandas as pd
  5. import time

请求数据部分源码

  1. b = 0
  2. a += 1
  3. res = requests.get(url='http://www.yanglaocn.com/yanglaoyuan/yly/?RgSelect=02301&page={}'.format(j),
  4. headers=headers)
  5. res.encoding = 'UTF-8'
  6. html = res.text
  7. html_ = etree.HTML(html)
  8. text_1 = html_.xpath('//div[@class='jiadiantulist']/ul[1]/a/@href')

这个主页的信息太少了,我们需要点击去,要这里面的全部数据

有小伙伴想到了模拟点击,但是我也去试过,但是发现速度非常的慢,我们如果是要获取少量的数据还好,如果很多的数据,那就完蛋了,太慢了!

于是我又重新找到了另外一个方法,在爬虫里面嵌套一个爬虫获取页面当单个的网址,这样就可以实现速度和数据并存运行了,果然效果还不错!

双层循环,递归操作,完美结合!

解析数据

  1. # 解析数据
  2. name = html_.xpath('//div[@class='leftcontext_left']/div[1]/label/text()')
  3. for text in name:
  4. get_info['机构名称'] = text
  5. time.sleep(1)

储存数据部分源码

  1. df.to_csv('养老.csv', mode='a+', index=False, encoding='utf-8')
  2. count += 1
  3. get_info_list.clear()
  4. texts = html_.xpath('//div[@class='leftcontext']//text()')
  5. aa = list(texts)
  6. index = aa.index('养老信息网提示您:')
  7. v = list(texts)[:index]
  8. c = []
  9. for x in v: # 遍历b这个,去除里面的特殊字符
  10. if x in '●\r\n':
  11. continue
  12. else: # 分别分出有意义的词组,因为对于一个词的,分析没有太大的意义
  13. c.append(x) # 存储1词组变量
  14. with open(r'文本.txt', 'a+', encoding='utf-8') as file:
  15. file.write('\t\t\t\t' + text)
  16. for i in c:
  17. file.write('\n'.join(i.split()) + '\n')
  18. print('第1页第1条数据写入!!!') # 写入第一行表头加数据,表头默认

主函数

  1. if __name__ == '__main__':
  2. # 定义一些变量
  3. ua = UserAgent() # 解决了我们平时自己设置伪装头的繁琐,此库自动为我们弹出一个可用的模拟浏览器
  4. headers = {'User-Agent': ua.random}
  5. Data()
  6. print('感谢你使用本程序!')

数据获取完毕!

知识是不是需要付费?让我想起了一个博主,他说:“知识不付费,永远学不会”

本期的文章就更新到这里哟,关注我!学习Python和大数据,带你一起快乐代码!

每文一语

为你写诗,为你写时,为你做最浪漫的事!遇见才是美好,没有问号?

(0)

相关推荐

  • 科研领域把握-小白也可以使用Python爬Nature

    作者:赵向阳 南京农业大学 责编:文涛 南京农业大学 文末提供爬虫代码,直接复制即可运行,或再github中下载源代码,地址在评论区置顶(今晚由于上传意外,exe程序在19年12月29日中午十二点之后 ...

  • Python|快速掌握Python爬虫XPath语法

    Python|快速掌握Python爬虫XPath语法

  • 免费的python课见多了,但是还能赚钱的可不多见

    随着大数据的普及,网络数据资源真正成为一种潜在的宝藏,让我们非计算机专业背景的人也可以借助 机器学习.人工智能等相关方法对问题进行研究. 传统的结构化数据,拿来就可以进行分析.但是网络上的文本数据,由 ...

  • 为什么我建议自己的研究生学点编程

    在过去的两年间,Python一路高歌猛进,成功窜上"最火编程语言"的宝座.惊奇的是使用Python最多的人群其实不是程序员,而是数据科学家,尤其是社会科学家,涵盖的学科有经济学.管 ...

  • (3条消息) Python爬取考研数据:所有985高校、六成211高校均可调剂

    又到了一年一度的考研出分时间啦,近期有不少朋友让笔者帮他们分析如何提前做好调剂.复试与调剂总是密不可分.今天,给大家分享一些调剂的重要知识点,希望你在调剂的时候,能明白调剂的趋势与规则.也许,大家对于 ...

  • 80行代码!用Python做一个哆来A梦分身

    原创 菜鸟哥 菜鸟学Python 2020-05-26 对于分身术,大家想必都或多或少的从<火影忍者>的动漫上看到过,炫酷的影分身场面,每每看到都觉得非常过瘾. 今天,小编其实是蓝胖子的铁 ...

  • 30行Python代码实现蚂蚁森林自动偷能量(附源码)

    虽然我支付宝加了好多好友,平时有很多能量可以偷,但由于太懒,至今一棵树都没种成,所以心心念念把偷能量这事自动化.之前通过用代码模拟手机点按的方式,实现了 朋友圈自动点赞,但当时蚂蚁森林的操作流程要比朋 ...

  • 什么,3行Python代码就能获取海量数据?

    Python爬虫与数据挖掘 1周前 以下文章来源于法纳斯特 ,作者小F 本文转载自公众号[法纳斯特],详情可以点击上方卡片,关注该公众号,获取更多好文推荐. 一谈起数据分析,首先想到的就是数据,没有数 ...

  • 6行python代码的爱心线

    前些日子在做绩效体系的时候,遇到了一件囧事,居然忘记怎样在Excel上拟合正态分布了,尽管在第二天重新拾起了Excel中那几个常见的函数和图像的做法,还是十分的惭愧.实际上,当时有效偏颇了,忽略了问题 ...

  • 10行Python代码的词云

    什么是词云呢? 词云又叫文字云,是对文本数据中出现频率较高的"关键词"在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据的主要表达意思. 现在 ...

  • 再见PDF提取收费!我用100行Python代码搞定!

    第471篇原创干货,第一时间送达 大家在日常的工作和学习过程中,都少不了与PDF文件打交道,很多的小伙伴都面临着将PDF文件中的文字.图片和表格数据提取出来的问题.能够对PDF文件中的文字.表格等数据 ...

  • 明明有100行数据,按Ctrl+A全选只有80行数据,为什么?

    图1 图2 第81行到100行没有创建列表,所以按Ctrl+A全选的时候选不到,因此筛选的时候第81行以后的数据全部显示. 怎样取消创建的列表呢?点击表格上方"工具"的" ...

  • 不到70行Python代码,轻松玩转RFM用户分析模型(附案例数据和代码)

    本文从RFM模型概念入手,结合实际案例,详解Python实现模型的每一步操作,并提供案例同款源数据,以供同学们知行合一. 注:想直接下载代码和数据的同学可以空降文末 看这篇文章前源数据长这样: 学完后 ...

  • 几行R代码帮你从pubmed搞定meta分析文献的检索!下载!整理!

    划重点:利用R语言几行代码,快速从pubmed根据keywords搜索数据(不会爬虫也没关系),查看下载数据,整理数据格式,一步到位. meta分析大家都知道,数据收集和整理是整个过程中非常熬人 的一 ...