随笔分类 - Python爬虫精进
摘要:#章节十六:复习与反爬虫 ##1. 爬虫总复习 我还记得事情是从这张图开始的,它被用来描述浏览器的工作原理: 请求和响应。这两件事几乎构成了我们后面的所有学习内容。 在第0关,我们说爬虫,就是利用程序在网上拿到对我们有用的数据。程序所做的,最关键步骤正是“请求”和“响应”。 据此,我们定义了“爬虫四
阅读全文
摘要:#章节十五:Scrapy实操 ##1. 复习 上一关,我们学习了Scrapy框架,知道了Scrapy爬虫公司的结构和工作原理。 在Scrapy爬虫公司里,引擎是最大的boss,统领着调度器、下载器、爬虫和数据管道四大部门。 这四大部门都听命于引擎,视引擎的需求为最高需求。 我们还通过实操爬取豆瓣To
阅读全文
摘要:#章节十四:Scrapy框架 前两关,我们学习了能提升爬虫速度的进阶知识——协程,并且通过项目实操,将协程运用于抓取薄荷网的食物数据。 可能你在体验开发一个爬虫项目的完整流程时,会有这样的感觉:原来要完成一个完整的爬虫程序需要做这么多琐碎的工作。 比如,要导入不同功能的模块,还要编写各种爬取流程的代
阅读全文
摘要:#章节十三:协程实践 吃什么不会胖——这是我前段时间在健身时比较关注的话题。 相信很多人,哪怕不健身,也会和我一样注重饮食的健康,在乎自己每天摄入的食物热量。 不过,生活中应该很少有人会专门去统计自己每日摄入的食物热量。显然这样做多少有一些麻烦。可能你得下载一个专门查询热量的APP,填写食物的名字,
阅读全文
摘要:#章节十二:协程 ##1. 复习回顾 照旧来回顾上一关的知识点!上一关我们学习如何将爬虫的结果发送邮件,和定时执行爬虫。 关于邮件,它是这样一种流程: 我们要用到的模块是smtplib和email,前者负责连接服务器、登录、发送和退出的流程。后者负责填输邮件的标题与正文。 最后一个示例代码,是这个模
阅读全文
摘要:#章节十一:定时与邮件 ##1. 复习 上一关我们学习了selenium,它有可视模式与静默模式这两种浏览器的设置方法,二者各有优势。 然后学习了使用.get('URL')获取数据,以及解析与提取数据的方法。 在这个过程中,我们操作对象的转换过程: 除了上面的方法,还可以搭配BeautifulSou
阅读全文
摘要:#章节十:Selenium Hi,又见面啦,上一关,我们认识了cookies和session。 分别学习了它们的用法,以及区别。 还做了一个项目:带着小饼干登录,然后在博客中发表评论。 除了上一关所讲的登录问题,在爬虫过程中,我们还可能会遇到各种各样棘手的问题—— 有的网站登录很复杂,验证码难以破解
阅读全文
摘要:#章节九:cookies 第1-8关我们学习的是爬虫最为基础的知识,从第9关开始,我们正式打开爬虫的进阶之门,学习爬虫更多的精进知识。 在前面几关,我们实操的爬虫项目里都没有涉及到登录这一行为。 但实际很多情况下,由于网站的限制,不登录的话我们只能爬取到一小部分信息。 而我们想要登录的话,则需要带上
阅读全文
摘要:#章节八:爬取知乎文章 你造吗,今天是个大喜的日子!来到这儿,就意味着你爬虫已经入门啦! 在这个重要又喜悦的日子里,我们就干三件事:回顾前路、项目实操、展望未来。 回顾前路,是为了复习1-7关所学的知识。项目实操,是通过写一个爬虫程序把所学的知识用起来。展望未来,是预告一下我们之后会遇到的风景。 马
阅读全文
摘要:#章节七:csv&excel ##1. 存储数据的方式 其实,常用的存储数据的方式有两种——存储成csv格式文件、存储成Excel文件(不是复制黏贴的那种)。 我猜想,此时你会想问“csv”是什么,和Excel文件有什么区别? 前面,我有讲到json是特殊的字符串。其实,csv也是一种字符串文件的格
阅读全文
摘要:#章节六:带参数请求数据 ##1. 复习 Network能够记录浏览器的所有请求。我们最常用的是:ALL(查看全部)/XHR(仅查看XHR)/Doc(Document,第0个请求一般在这里),有时候也会看看:Img(仅查看图片)/Media(仅查看媒体文件)/Other(其他)。最后,JS和CSS,
阅读全文
摘要:#章节五:json ##1. 复习 当然,还要有复习。在上一关,我们使用两种方式,爬取了热门菜谱清单,内含:菜名、原材料、详细烹饪流程的URL。代码如下: # 引用requests库 import requests # 引用BeautifulSoup库 from bs4 import Beautif
阅读全文
摘要:#章节四:BeautifulSoup实践 解密吴氏私厨,意思就是到吴枫的厨房去看一看,看一看有没有什么好吃的。希望你会喜欢这一关。 ##1. 复习 上一关,我们学习了用BeautifulSoup库解析数据和提取数据,解析数据的方法是: 提取数据的方法是用find() 与find_all() 最后,我
阅读全文
摘要:#章节三:BeautifulSoup 上一关,我们学习了HTML基础知识,知道了HTML是一种用来描述网页的语言,又了解了HTML的基本结构。 认识了HTML中的常见标签和常见属性: 根据这些知识,我们成功修改了这个网页上原来所显示标题——“这个书苑不太冷”,改成了“蜘蛛侠大战网页”。 最后,还写了
阅读全文
摘要:#章节二:HTML基础 ##1. 爬虫,从网页开始 ###1.1 为什么要学习HTML? 按道理来说,下面该学习爬虫的第1步: 数据解析了吧? 别急别急,心急爬不了热豆腐。在此之前,先来道送分题,我们要的数据藏哪里来着? 藏在网页当中,对吧。上一节课,老师提到,当我们在Chrome浏览器上,拿着ur
阅读全文
摘要:#章节一:认识爬虫 ##1. 初识爬虫 ###1.1 什么是爬虫? 到底什么是爬虫呢? 爬虫,从本质上来说,就是利用程序在网上拿到对我们有价值的数据。 爬虫能做很多事,能做商业分析,也能做生活助手,比如:分析北京近两年二手房成交均价是多少?深圳的Python工程师平均薪资是多少?北京哪家餐厅粤菜最好
阅读全文
摘要:#前言:测试 ##1. 关于下面的代码说法正确的是(A) def s(): c = a +b return c A、定义的函数名叫s B、函数能计算两个数的和 C、这个函数能正常使用 D、s(1,2)的返回值为3 ##2. 下列关于编码说法错误的是(C) A、utf-8编码后的数据可用于网络传输 B
阅读全文