爬虫教程
CodeKiang
嘿,我不懒
展开
-
爬虫教程---第六章:Scrapy框架
第六章 Scrapy框架回顾一下写一个爬虫需要做的一些步骤,使用requests库发送网络请求、使用lxml等解析技术对数据进行解析、使用数据库等方法进行存储数据,另外还可以在请求网络的时候进行更换IP、设置请求头等。每次爬虫都要干这么多活,如果每次都从零开始写则比较浪费时间,所以我们需要一个框架,这个框架帮我们把一些基本的爬虫前奏都准备好了,我们只需要“站在巨人的肩膀上”即可。而Scrapy 框架就是这个“巨人的肩膀”。它的工作原理如下:各模块功能如下:Engine(引擎): scrap框架原创 2020-06-25 21:08:21 · 604 阅读 · 0 评论 -
爬虫教程---第五章:爬虫进阶之Tesseract图形识别
5.3 Tesseract图形验证码识别相信大家平时在登录或者请求一些数据的时候经常会遇到图形验证码,而我们爬虫有时候就因为图形验证码而手足无措,这一章通过学习Tesseract 来解决这个问题,使你的爬虫之路更加的畅通无阻。Tesseract是一个目前最优秀最准确的开源ORC库,目前有谷歌赞助,可以经过训练识别任何字体。ORC 即Optical Character Recognition,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。Tesseract 下载安装:第一原创 2020-06-21 20:05:05 · 433 阅读 · 0 评论 -
爬虫教程---第五章:爬虫进阶之Selenium
第五章 爬虫进阶5.2 Selenium爬取动态网页你一定见过“查看更多”的按钮,一点它就会加载更多的内容,此时浏览器是没有刷新的,仅仅通过Ajax与服务器进行少量的数据交换。这就是动态网页。什么是Ajax?Ajax 即Asynchronous Javascript And XML(异步 JavaScript 和 XML)。由于Ajax一开始进行传输的数据的格式为xml 所以叫Ajax 。但如今基本上都是使用json 来进行数据传输,因为习惯了所以Ajax就一直没改名了。获取Ajax方式:手动原创 2020-06-21 08:49:15 · 264 阅读 · 0 评论 -
爬虫教程---第五章:爬虫进阶之多线程爬虫
第五章 爬虫进阶经过了前面四章的学习,相信小伙伴对爬取基本的网站的时候都可以信手拈来了。那么接下来介绍比较高级一点的东西来帮助我们更顺利更快速的进行爬虫。首先来看看我们这一章要学哪些进阶技术:多线程爬虫、ajax数据爬取、图形验证码识别。5.1 多线程连接线程之前先来看看进程的概念。进程通俗的讲就是指正在运行的程序,每个进程之间拥有独立的功能。而每一个进程都有至少一个执行单元来完成任务,这个(些)执行单元就是 线程。线程在创建的时候会把进程中的数据进行一份拷贝,作为自己的独有数据。最简单的比喻是进原创 2020-06-19 22:36:59 · 820 阅读 · 0 评论 -
爬虫教程---第四章 信息存储
第四章 信息存储前面三章介绍了如何爬取以及筛选信息,而这些信息呢都是输出到控制台的。那这一章,我们要学习如何将这些信息持久化存储,方便我们以后的使用。接下来我们要学习的信息存储技术有:json 、csv 、mysql 。大家可以根据需要来选择信息存储方式。4.1 JSONJSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。与python的字典很像,用法也差不多。JSON 的数据类型:对象:使用花括号包裹 {} 起来的内容。如:{key:value}原创 2020-06-17 21:47:15 · 192 阅读 · 0 评论 -
爬虫教程-第三章:信息提取之正则表达式
前面两篇博客介绍了`lxml` 跟`BeautifulSoup` 对信息的提取,这节来介绍最后一种提取信息的方式----正则表达式。本章的案例是爬取哔哩哔哩的热门视频的详细信息正则表达式相信大家都听过,那什么是正则表达式呢?通俗的讲,**正则表达式就是按照一定的规则,从某个字符串中匹配出满足规则的字符串**。先来简单的看一下正则表达式的使用:原创 2020-06-17 10:44:50 · 799 阅读 · 4 评论 -
爬虫教程---第三章:信息提取之BeautifulSoup
3.2 BeautifulSoup和lxml一样,BeautifulSoup也是一个HTML/XML的解析器,跟XPath的功能是一样的。区别在哪里呢?lxml只会局部遍历,如果你想提取a 标签的内容,那么我们需要写出相关的xpath语法,此时lxml 只会对全部的a 标签进行遍历,找出满足条件的a 标签。而BeautifulSoup会载入整个文档,将文档内容组织成类似于DOM树的结构,然后我们可以根据它提供的API来作出相应的操作,此时BeautifulSoup会遍历整个树,找出满足条件的标签。因此原创 2020-06-15 16:21:17 · 455 阅读 · 0 评论 -
爬虫教程---第三章:信息提取之XPath
虽然学了前面两章可以自己爬取网页内容了,但这些内容夹杂了很多html代码啊,不相关的信息啊等等。那本章就是解决一些手段对想要信息进行精准的提取,进而使爬取下来的信息都是我们想要的。提取信息的技术有三种:`XPath`、`BeautifulSoup`、`正则表达式` 。另外,本小节还有结合小练习以及对IP地址进行爬取的案例来讲解内容。原创 2020-06-13 15:51:00 · 610 阅读 · 0 评论 -
爬虫教程---第二章:requests的使用
第二章:requests库使用urllib库 虽然蛮强大的,但是还有很多比较麻烦的地方,比如上一章的实现中,需要把post请求的参数进行编码才可以发送到服务器,还有当我们需要使用到cookie以及其他东西时需要借助一些东西才可以实现。requests库呢,就像个妈妈一样,漂亮的衣服都帮我们织好了,我们需要穿到的时候叫一声妈,就可以穿上好看的衣服。如果需要使用requests库,需要先安装pip install requeststips: 以后很多库使用pip下载都很方便,另外也可以在pycharm原创 2020-06-10 17:59:16 · 254 阅读 · 0 评论 -
爬虫教程---第一章:爬虫基础
第一章:爬虫基础1.1 通用爬虫与聚焦爬虫通用爬虫:主要将互联网上的网页下载到本地,形成一个互联网的镜像备份。聚焦爬虫:通过特定的规则对网页内容进行与需求相关的爬取。1.2 http协议首先看一下在浏览器中是怎么样发送一个http请求的过程:当你输入网址(也叫url)回车的时候,浏览器会向服务器发送Request请求去获取该网址的html文件。服务器将对应的html文件作为Response对象返回给浏览器。当浏览器解析Response中的html文件时,如果发现此文件还引用了其他的文件原创 2020-06-09 21:13:31 · 781 阅读 · 0 评论