爬虫
文章平均质量分 82
在数据兴盛的趋势下,爬虫是一种值得我们去了解的工具
tzc_fly
2017-2021:华中科技大学本科,2021-至今:中山大学博士
展开
-
8.分布式爬虫框架
目录分布式爬虫框架消息队列Redis和Scrapy-Redis分布式爬虫框架分布式爬虫框架分为两种:控制模式(左)和自由模式(右):控制模式中的控制节点是系统实现中的瓶颈,自由模式则面临爬行节点之间的通信处理问题。因此,在实际工程中,我们通常使用混合模式:各个爬行节点有各自的功能(爬取的对象不同),它们都注册到一个服务节点上,服务节点能分辨各个爬行节点的分工,用户的请求存放在队列中,处理不同请求的程序从队列中取出请求,然后询问服务节点,由服务节点分配爬行节点给请求的处理程序。下面介绍分布式爬原创 2022-02-01 23:07:20 · 3097 阅读 · 0 评论 -
7.并发编程
多进程和多线程Windows下使用multiprocessing实现多进程。from multiprocessing import Processimport os# 子进程的函数def run_proc(name): # os.getpid()获取进程号 print('Run child process %s (%s)...' % (name, os.getpid()))if __name__ == '__main__': # 父进程即main函数 prin原创 2022-01-31 12:08:40 · 917 阅读 · 0 评论 -
6.2.Scrapy获取图像
使用scrapy获取图像我们基于scrapy获取来自pic.netbian.com的图像,首先新建一个scrapy项目:(env) ....\TempStack>scrapy startproject netbian对于图像,Scrapy用ImagesPipeline类提供一种方便的方式来下载和存储图片,需要PIL库支持。爬取图像的工作流程如下:爬取一个Item,将图片的URL放入 image_urls 字段;从 Spider 返回的Item,传递到 ItemPipeline;当It原创 2022-01-29 14:07:08 · 339 阅读 · 0 评论 -
6.1.Scrapy项目
Scrapy项目(未登录的情况下)首先,我们从不需要登录的场景下设计scrapy项目,我们使用scrapy获取信息。我们创建scrapy项目:(env) ....\TempStack>scrapy startproject book我们首先在items中定义我们需要的Item:import scrapyclass BookItem(scrapy.Item): name = scrapy.Field() # 书名 ratings = scrapy.Fi原创 2022-01-29 14:06:03 · 8611 阅读 · 0 评论 -
5.Scrapy与相关应用
目录Scrapy介绍Scrapy爬取Quotes to ScrapeScrapy爬取cnblogScrapy项目创建Scrapy的组件Scrapy的组件Spider组件Item组件ItemPipelineScrapy介绍Scrapy 是一种快速的高级 web crawling(网络爬虫) 和 web scraping(网页抓取) 框架,用于对网站进行爬取并从其页面提取结构化数据。它可以用于广泛的用途,从数据挖掘到监控和自动化测试。在之前的学习中,我们使用Requests获取网页,然后用BS4或其他网页解原创 2022-01-28 18:37:16 · 1640 阅读 · 0 评论 -
4.相关库的使用与登录问题
目录相关库的使用RequestsBeautiful SoupHTMLParser数据库编程Requests登录(基于Cookie)获取豆瓣电影Top250相关库的使用RequestsRequests库是Python的第三方库,是目前公认的获取网页最好的库,特点有简单,代码简洁,甚至一行代码就能爬取到网页。我们可以使用requests发送请求:import requests# 发送请求url="http://www.baidu.com"r=requests.get(url)# 检查连接状态原创 2022-01-28 00:08:20 · 1419 阅读 · 0 评论 -
3.爬虫基础知识与简易爬虫实现
CSS选择器CSS全称为Cascading Style Sheets(级联样式表),CSS的建立初始目的是快速便捷地定义如何显示HTML元素。对于CSS的基础语法,其本质为:选择器+一条或多条声明:selector{declaration1;…;declarationN}每条声明由一个属性和一个值组成:property:value比如例子:h1{color:red; font-size:14px},其含义是选择标签为h1的元素,并设置其两个属性。CSS包含不同类型的选择器。元原创 2022-01-25 12:10:00 · 467 阅读 · 0 评论 -
2.爬虫的Python基础
本篇-基础内容部分可参考Python笔记本基础内容Python需要强制缩进,利用缩进表示语句块的开始和退出,通常使用4个空格表示每一级缩进。Python是弱类型语言,当声明变量时不需要声明变量的类型。Python的for循环只能作用于容器(Python的容器包括了大部分数据结构:数组,列表,元组,集合,字典。),for循环没有以下写法:for (i=0; i<100; ++i){...}想要实现上述效果应该用while,比如:i=0while i<=100: i +=原创 2022-01-20 16:40:42 · 522 阅读 · 0 评论 -
1.环境准备与入门
爬虫定义网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。由于专门用于检索信息的“机器人”程序象蜘蛛一样在网络间爬来爬去,因此,搜索引擎的“机器人”程序就被称为“蜘蛛”程序。爬虫的发展有如下历史:1990年,蒙特利尔大学学生Alan Emtage发明的Archie,用于搜索分散的FTP主机上的资源。(早期的文件资源是通过FTP传播的)1993年,内华达大学受启发开发了类似工具,开始支持原创 2022-01-20 00:43:50 · 1360 阅读 · 0 评论