摘要: scrapy框架 图片下载 [TOC] python小知识: map函数:将一个可迭代对象的每个值,依次交给一个函数处理,返回一个生成器。 urls本身是一个列表,使用map函数,将urls中的每一项传递给url ,并让url执行‘https:’+url的操作。 lambda则是一个无名函数,方便一 阅读全文
posted @ 2018-12-31 15:26 bitterz 阅读(603) 评论(0) 推荐(0) 编辑
摘要: scrapy框架 post请求和shell [TOC] 1. post请求 scrapy框架在开始时,会直接调用start_requests(self) 函数,所以需要重写start_requests方法,并且不调用start_urls里面的url,之后再使用回调函数进入真正的数据解析函数 2. s 阅读全文
posted @ 2018-12-31 15:16 bitterz 阅读(434) 评论(0) 推荐(0) 编辑
摘要: scrapy框架 文件写入 [TOC] 1. lowb写法 当整个项目开始时,会执行\__init__ 和open_spider函数,所以先将文件打开,方便写入。项目结束时运行close_spider函数,在这个地方关闭文件。 每次spider将数据抛出,由process_spider函数进行处理 阅读全文
posted @ 2018-12-31 14:54 bitterz 阅读(1690) 评论(0) 推荐(1) 编辑
摘要: scrapy框架 两种爬虫对比和大概流程 注:spider.py指使用命令行创建的爬虫主文件 [TOC] 1. 传统spider爬虫 创建scrapy项目,首先进入想创建项目的目录,然后cmd输入: spidername就是爬虫文件名 xxxx.com 用于限定爬虫爬取的范围爬虫名,其与项目名不能相 阅读全文
posted @ 2018-12-31 14:51 bitterz 阅读(929) 评论(0) 推荐(0) 编辑
摘要: 爬虫 selenium+HeadlessChrome [TOC] 之前的笔记已经提到过selenium+chromedriver爬取Ajax技术加载的数据,但这种方式过于笨重,原因在于,每打开一个页面,都需要浏览器解析数据渲染界面,但实际上我们的爬虫不需要这些操作。所以一个没有界面但又完全可以模拟浏 阅读全文
posted @ 2018-12-29 11:53 bitterz 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 爬虫 ajax数据爬取 [TOC] 1. ajax数据 ajax (异步JavaScript 和 XML)(读作阿贾克斯),ajax可以时网页实现异步更新,一般使用的json数据交互,即在不重新加载整个页面也可以对网页的部分进行更新, ajax技术加载的数据在网页源代码中是看不到的 ,只能看到url 阅读全文
posted @ 2018-12-29 11:50 bitterz 阅读(662) 评论(0) 推荐(0) 编辑
摘要: 爬虫 多线程和队列 [TOC] 当我们实现了一个小爬虫之后,会自然而然的考虑如何提升爬虫的效率,因此,我们就需要借助多线程、多进程和数据结构的方法。本次笔记提供一个简单的生产者和消费者模式的框架,并给出了一个实战代码。 1. 生产者和消费者模式 这个模式可以从生活实际出发,想想我们去吃自助,生产者( 阅读全文
posted @ 2018-12-29 11:45 bitterz 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 爬虫 数据存储 [TOC] 1. JSON文件 1.1 JSON数据格式 json是一种轻量级数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据,简洁清晰,适合前端和后端数据交换 JSON数据格式 1 对象(字典) 使用花括号{} 2 数组(数组) 使用方括号[] 3 整形、浮点型、布尔 阅读全文
posted @ 2018-12-29 11:43 bitterz 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 爬虫 数据解析 [TOC] 1. xpath和正则表达式心得 0)推荐安装谷歌浏览器插件xpath helper(谷歌应用商店,需要FQ,后面会提到其缺陷,但初学时效果极佳) 1)xpath获取某标签下的文本使用/text()函数 例如//div/p/text() 2)xpath获取标签中属性的值使 阅读全文
posted @ 2018-12-29 11:37 bitterz 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 爬虫 基础知识+requests库 [TOC] 关于html的知识,可以到w3school中进行了解学习。http://www.w3school.com.cn/html/index.asp,水平有限,这里不多提及。 1. 状态返回码 标志这这一次的请求状态,成功或失败,失败原因大概是什么 200:请 阅读全文
posted @ 2018-12-29 11:32 bitterz 阅读(245) 评论(0) 推荐(0) 编辑