爬虫
文章平均质量分 92
叫我阿柒啊
从事大数据、java、python。
展开
-
AI新闻爬虫:传统爬虫和XHR异步加密爬虫的碰撞
AI的发展日新月异,及时掌握一些AI的消息和妹子聊天时也不至于词穷(不建议和妹子聊技术)。所以这里就以36氪和虎嗅网为例,来讲一下如何爬取AI新闻消息以及数据整合。36氪和虎嗅网这两个网站新闻爬虫比较具有代表性,36氪是传统的html网页爬虫,虎嗅网是异步api加载加密的爬虫,这里就从简单的36氪讲起。这就是我使用爬虫爬取AI新闻的过程,使用了两个爬虫中比较常见的典型案例。像这种类别信息的采集,还有更优的程序设计架构。原创 2024-04-19 14:28:23 · 803 阅读 · 0 评论 -
pyecharts:用地图map展现社区程序员的分布
如何使用python对腾讯云开发者社区各位创作者,进行一个区域和技术偏好分析。作为数据分析的课题,我们首先想到的就是,如何去收集创作者们的区域和技术偏好数据。浏览腾讯云开发者社区的数据展示设计,发现在个人主页就能收集到区域和技术偏好数据。那么我们就要考虑如何进入到个人主页。本篇文章数据分析为主、爬虫为辅,实现了对腾讯云开发者社区部分创作者的区域分布和技术偏好分析。原创 2024-04-11 17:09:05 · 1002 阅读 · 1 评论 -
因为一部遮天,我用三种语言实现了腾讯国漫评分系统(三):后台接口和修仙大成篇
仙路尽头谁为峰,一见无始道成空!!!原创 2024-03-08 15:59:02 · 874 阅读 · 0 评论 -
探究Java的Json库之后,我才明白爬虫要用python
在热衷于开发爬虫的日子,我一般都是使用Python。但是我第一个自学的语言是Java,工作也是和Java紧密联系。难道是Java不能写爬虫吗,相反我第一个爬虫程序就是使用Java开发的。至于为什么投入Python的怀抱,今天写完这篇对于Java中各种常见JSON库的使用,可能就知道其中答案了。然后就是根据json的层级创建实体类,。首先定义data中的list代表的实体类。原创 2024-03-06 11:17:23 · 470 阅读 · 0 评论 -
3700字!我这样的爬虫架构,如履薄冰
我这样的爬虫架构设计,如履薄冰原创 2023-12-19 16:35:35 · 1411 阅读 · 2 评论 -
当python词云遇到网易云民谣
词云,就是用文字词语来生成各种有趣的可视化图片。在python中使用wordcloud模块来实现词云。原创 2023-12-12 15:57:01 · 120 阅读 · 0 评论 -
Scrapy08:scrapy-deltafetch,让爬虫有了记忆
Scrapy08:scrapy-deltafetch,让爬虫有了记忆原创 2022-09-28 18:27:10 · 536 阅读 · 1 评论 -
Scrapy入门到放弃07:scrapyd、gerapy,界面化启停爬虫
前言上一篇的枯燥无味,就用这一篇来填补一下。写到插件篇了,终于能写点有意思的东西了,接下来就Scrapy基本概念和插件篇来穿插着写一写。在我们以往开发的爬虫中,不论是Java的Jsoup,还是Python的requests,启动方式和普通的应用程序没什么两样,都是通过命令来本机运行。但Scrapy提供了远程启停爬虫的服务Scrapyd。Scrapyd基于http协议开放了API,以此来远程启停爬虫。而第三方插件Gerapy作为一个分布式爬虫管理框架,基于Scrapyd又封装了一个web应用,在网页上原创 2021-11-19 09:46:30 · 888 阅读 · 1 评论 -
Scrapy入门到放弃06:Spider中间件
前言写一写Spider中间件吧,都凌晨了,一点都不想写,主要是也没啥用…哦不,是平时用得少。因为工作上的事情,已经拖更好久了,这次就趁着半夜写一篇。Scrapy-deltafetch插件是在Spider中间件实现的去重逻辑,开发过程中个人用的还是比较少一些的。作用依旧是那张熟悉的架构图,不出意外,这张图是最后一次出现在Scrapy系列文章中了。如架构图所示,Spider中间件位于Spiders(程序)和engine之间,在Item即将拥抱Pipeline之前,对Item和Response进行处理原创 2021-11-10 22:41:19 · 903 阅读 · 1 评论 -
Scrapy入门到放弃05:让Item在Pipeline飞一会
前言“又回到最初的起点,呆呆地站在镜子前”。本来这篇是打算写Spider中间件的,但是因为这一块涉及到Item,所以这篇文章先将Item讲完,顺便再讲讲Pipeline,然后再讲Spider中间件。Item和Pipeline依旧是先上架构图。从架构图中可以看出,当下载器从网站获取了网页响应内容,通过引擎又返回到了Spider程序中。我们在程序中将响应内容通过css或者xpath规则进行解析,然后构造成Item对象。而Item和响应内容在传递到引擎的过程中,会被Spider中间件进行处理。最后P原创 2021-08-23 21:04:05 · 227 阅读 · 0 评论 -
Scrapy入门到放弃04:下载器中间件,让爬虫更完美
前言MiddleWare,顾名思义,中间件。主要处理请求(例如添加代理IP、添加请求头等)和处理响应本篇文章主要讲述下载器中间件的概念,以及如何使用中间件和自定义中间件。MiddleWare分类依旧是那张熟悉的架构图。从图中看,中间件主要分为两类:Downloader MiddleWare:下载器中间件Spider MiddleWare:Spider中间件本篇文主要介绍下载器中间件,先看官方的定义:下载器中间件是介于Scrapy的request/response处理的钩子框架。 是原创 2021-08-05 11:31:57 · 748 阅读 · 0 评论 -
Scrapy入门到放弃03:理解settings配置,监控Scrapy引擎
前言代码未动,配置先行。本篇文章主要讲述一下Scrapy中的配置文件settings.py的参数含义,以及如何去获取一个爬虫程序的运行性能指标。这篇文章无聊的一匹,没有代码,都是配置化的东西,但是呢不学还不行,属于Scrapy的枢纽,很关键。所以还请各位看官老爷耐得住这一章的寂寞。settings.py在我们创建一个Scrapy项目的时候,就会在项目下生成四个py文件,其中就有一个settings.py。其中大大小小配置也是有大几十个,这里只讲一些比较常见的,其他的还请移步官方文档。官文配置参数说原创 2021-07-30 09:46:04 · 497 阅读 · 0 评论 -
scrapy入门到放弃02:整一张架构图,开发一个程序
前言Scrapy开门篇写了一些纯理论知识,这第二篇就要直奔主题了。先来讲讲Scrapy的架构,并从零开始开发一个Scrapy爬虫程序。本篇文章主要阐述Scrapy架构,理清开发流程,掌握基本操作。整体架构自己动手画架构图一张:这就是Scrapy的整体架构,看起来流程比较复杂,但其实需要开发者参与的部分不多。这里先介绍一下各个部分。Spider:要开发的爬虫程序,用来定义网站入口,实现解析逻辑并发起请求。Pipeline:数据管道,可自定义实现数据持久化方式。Middleware:中间件,原创 2021-07-07 10:38:28 · 296 阅读 · 0 评论 -
Scrapy入门到放弃01:开启爬虫2.0时代
前言Scrapy is coming!!在写了七篇爬虫基础文章之后,终于写到心心念念的Scrapy了。Scrapy开启了爬虫2.0的时代,让爬虫以一种崭新的形式呈现在开发者面前。在18年实习的时候开始接触Scrapy,花了一个月的时间,理论结合实践学习了Scrapy。本篇文章不写代码操作,只讲前因后果及理论,愿你懂得Scrapy。原生爬虫面临问题无论使用Java的Jsoup也好,python的requests也罢,开发爬虫都会面临下面几个问题:1.分布式爬虫程序一般只运行在一台主机上,如果是一原创 2021-04-21 09:40:42 · 269 阅读 · 0 评论 -
爬虫入门到放弃系列06:爬虫实战基金
前言爬虫的基本知识已经告一段落,这次就找个网站实战一波。但是为什么选择了基金?这还要从我的故事讲起。我是一名韭零后,小白一枚,随大流入基市一载,佛系持有,盈亏持平。看到年前白酒红胜火,遂小投一笔,未曾想开市之后绿如蓝,赚的本韭菜空喜欢,一周梦回解放前。还记得那天的天台的风很凉,低头往下看车来车往,有点恐高。想点一支烟烘托一下气氛,才想起我不会抽烟。悲伤之际,突然想起一位名人曾说过:“只要你不跑,你就不是韭菜”。于是转身回家,坐在电脑前写下了这篇文章。准备明确爬取目标爬取各个板块基金数据寻找原创 2021-03-15 12:48:11 · 371 阅读 · 0 评论 -
爬虫入门到放弃系列05:从程序模块设计到代理IP池
前言上篇文章吧啦吧啦讲了一些有的没的,现在还是回到主题写点技术相关的。本篇文章作为基础爬虫知识的最后一篇,将以爬虫程序的模块设计来完结。在我漫(liang)长(nian)的爬虫开发生涯中,我通常将爬虫程序分为四大模块。如图,除了代理模块是根据所需引入程序,请求、解析、储存模块是必不可少的。代理模块代理模块主要是构建代理IP池。在第三篇中讲过为什么需要代理IP,因为很多网站是通过请求频率来识别爬虫,即记录一个IP在一段时间内的请求次数,所以可以通过更换代理IP来提高爬取效率。概念什么是代理IP原创 2021-03-09 10:16:28 · 272 阅读 · 0 评论 -
爬虫入门到放弃系列04:我对钱没有兴趣
前言我们身处大数据时代,数据趋于透明化、公开化,我们是否就可以拿着数据为所欲为?几年前很多人向往着"车厘子自由",同样在也有很多人也追求着技术自由。时至今日,我们可以在合法的范围内自由应用技术,那么对于爬虫的合法化,到底有哪些的法律可以来界定?在很长的一段时间内,很多人谈爬虫色变,同时很多调侃爬虫的段子也应运而生。因为兴趣学习了爬虫,后来也承担下了爬虫开发的工作。我也是被调侃大军中一员,甚至有一段时间我也都有点不敢开发爬虫了,现在想想,有点盲目了… 所以本篇文章着重于这一方面来展开,毕竟克服恐惧最好原创 2021-02-22 18:29:32 · 393 阅读 · 0 评论 -
爬虫入门到放弃系列03:爬虫如何模仿人的浏览行为
前言上一篇文章主要讲了如何解析网页,本篇文章主要来写一下如何发起请求。可能看过前两篇文章的人就开始疑惑了,请求?你不是说一行代码就可以搞定了么。的确,一行代码就能搞定。但是请求部分既然扮演着浏览器的角色,我们是不是应该尽量让它变得和浏览器一样。而我在第一篇文章中也讲到,爬虫是模拟人的行为去获取数据。那么我们就需要知道,一个人去访问网站有什么样的行为?爬虫怎么去模拟人的行为?请求头当一个人打开浏览器输入网址敲下回车,会发起一个HTTP请求,即Request,来访问网站服务端,服务端接收请求并返回响应内.原创 2021-02-06 18:53:32 · 1152 阅读 · 0 评论 -
爬虫入门到放弃02:html网页如何解析
前言上一篇文章讲了爬虫的概念,本篇文章主要来讲述一下如何来解析爬虫请求的网页内容。一个简单的爬虫程序主要分为两个部分,请求部分和解析部分。请求部分基本一行代码就可以搞定,所以主要来讲述一下解析部分。对于解析,最常用的就是xpath和css选择器,偶尔也会使用正则表达式。不论是xpah还是css,都是通过html元素或者其中某些属性来选中符合条件的元素节点。以斗罗大陆的部分html为例。<div class="detail_video"> <div class="vide.原创 2021-02-04 11:23:53 · 332 阅读 · 0 评论 -
python爬虫 - js加密setCookie
前言在爬取某些网站的时候,获取的返回数据不是意料中的html,而是一大串毫无格式的js,例如:var arg1='38B18065C640DD60B8A3AD8BFA4DE2D694EDD37C';var _0x4818=['\x63\x73\..具体如图所示:解密过程格式化JS其实,js中字符就是被\0x50这种给的十六进制加密,只需要粘贴去https://tool.lu/js解密即可在此图中,可以知道在请求网站的时候部分原理:在请求网站加载html的时候,会检测cookie是否含有原创 2020-09-09 16:55:37 · 1432 阅读 · 3 评论 -
高德POI数据爬虫
poiPOI是Point of Information的缩写,即信息点。在地理信息系统中,一个POI可以是一栋房子、一个商铺、一个邮筒、一个公交站等。但是POI的正统翻译还是Point of Interest,即兴趣点。每个POI包含四方面信息,名称、类别、坐标、分类,平时我们可以通过https://lbs.amap.com/api/webservice/guide/api/search/...原创 2020-07-26 00:54:28 · 3022 阅读 · 1 评论 -
自学爬虫系列 1 - What is 爬虫?
自学爬虫 1 - What is 爬虫?前言记得17年实习,刚听到爬虫这个词的时候,感觉特别遥远。那时还特地从网上下载了一本<jsoup教程>,在公司看了三天左右,用Java写下了人生的第一个爬虫PoiCrawler,记忆尤为深刻。后来又为了Scrapy转战Python爬虫,在18年完成了从入门到实践的过程。对于爬虫,我的定义就是:在Java中爬虫是Jsoup,在python中就是requests(urlib)库(Scrapy先不提)。它们将html内容下载下来,我们解析html、存储解析原创 2020-06-28 18:46:54 · 233 阅读 · 0 评论 -
Python爬虫之js加密 - setCookie
Python爬虫之js加密 - setCookie在爬取某些网站的时候,获取的返回数据不是意料中的html,而是一大串毫无格式的js,例如:<script>var arg1='DBA2772350119161B1B1B5BC33B7EA4170E4FE32';var _0x4818=['\x63\x73\x4b\x48\x77\x71\x4d\x49','\x5a\x73\x4b\x4a\x77\x72\x38\x56\x65\x41\x73\x79','\x55\x63\x4b\x69原创 2020-06-19 15:26:35 · 2355 阅读 · 0 评论