带你快速了解爬虫的原理及过程,并编写一个简单爬虫程序

3 篇文章 0 订阅
订阅专栏

目录

 前言

你应该知道什么是爬虫?

一.Scrapy的基本执行过程

二.Scrapy的实现 

2.1Scrapy框架安装 

2.2创建项目

 (1)爬虫框架组件介绍

 (2)控制台运行创建框架命令(spiderTest是框架目录名称,按需定义)

 2.3编写爬虫程序

2.3.1 在spiders下创建、编写爬虫文件,代码如下

 2.4 终端运行爬虫程序

 2.4.1 需要进入爬虫框架目录 cd spiderTest

 2.4.2 命令执行爬虫程序

 三、结语

1.总结

2.python的学习建议


 前言

本文针对初学者,我会使用最简单的图例、案例带你了解python爬虫!

需要提前下载PyCharm编辑器。

在 互联网领域,爬虫一般指抓取众多公开网站网页上数据的相关技术。

想要入门Python 爬虫首先需要解决四个问题

  • 熟悉python编程
  • 了解HTML
  • 了解网络爬虫的基本原理
  • 学习使用python爬虫库

你应该知道什么是爬虫?

网络爬虫,其实叫作网络数据采集更容易理解。

就是通过编程向网络服务器请求数据(HTML表单),然后解析HTML,提取出自己想要的数据。

归纳为四大步:

  1. 根据url获取HTML数据
  2. 解析HTML,获取目标信息
  3. 存储数据
  4. 重复第一步

这会涉及到数据库、网络服务器、HTTP协议、HTML、数据科学、网络安全、图像处理等非常多的内容。但对于初学者而言,并不需要掌握这么多。

长话短说,接下来带你初步认识爬虫,如果你是入门小白或者初学爬虫,相信这些知识对你会有所启发!

一.Scrapy的基本执行过程

第①步:爬虫(Spider)使用URL(要爬取页面的网址)构造一个请求(Request)对象,提交给引擎(Engine)。如果请求要伪装成浏览器,或者设置代理IP,可以先在爬虫中间件中设置,再发送引擎。

第②步:引擎将请求安排给调度器(Scheduler),调度器根据请求的优先级确定执行顺序。

第③步:引擎从调度器获取即将要执行的请求。

第④步:引擎通过下载器中间件,将请求发送给下载器下载页面。

第⑤步:页面完成下载后,下载器会生成一个响应(Response)对象并将其发送给引擎。下载后的数据会保存于响应对象中。

第⑥步:引擎接收来自下载器的响应对象后,通过爬虫中间件,将其发送给爬虫(Spider)进行处理。

第⑦步:爬虫将抽取到的一条数据实体(Item)和新的请求(如下一页的链接)发送给引擎。

第⑧步:引擎将从爬虫获取到的Item发送给项目管道(Item Pipelines),项目管道实现数据持久化等功能。同时将新的请求发送给调度器,再从第②步开始重复执行,直到调度器中没有更多的请求,引擎关闭该网站。

Scrapy组件总结

初步了解了爬虫组件以及实现流程,接下来让我们来实现一个简单爬虫!!!

二.Scrapy的实现 

我们这次的实践使用开发工具PyCharm进行操作,目的是爬取  http://woodenrobot.me  下的每一个文档标题

主要分为4个步骤:

 

2.1Scrapy框架安装 

下载爬虫框架,在终端输入命令(可以直接输入  pip install scrapy  下载,但会很慢,我们选择从国内镜像源下载):

pip install scrapy -i https://pypi.tuna.tsinghua.edu.cn/simple

 安装完后验证安装是否成功,随便创建一个.py文件,输入如下代码,

import scrapy

print(scrapy.version_info)

 结果:

2.2创建项目

 (1)爬虫框架组件介绍

 (2)控制台运行创建框架命令(spiderTest是框架目录名称,按需定义)

scrapy startproject spiderTest

 运行后自动生成了目录框架

 

 2.3编写爬虫程序

Spider类介绍

 我们编写的爬虫程序,需要继承Spider类

2.3.1 在spiders下创建、编写爬虫文件,代码如下

from scrapy.spiders import Spider

# BologSpider继承Spider类
class BlogSpider(Spider):
	#爬虫的名称
    name = 'test'
    # 获取一个博客的url
    start_urls = ['http://woodenrobot.me']

    def parse(self, response,):
        # 根据标题的xpath路径,提取出标题元素
        title = response.xpath("//a[@class = 'post-title-link']/text()").getall()  #getall()获取所有元素,返回列表
       
        title_one = response.xpath("//a[@class = 'post-title-link']/text()").get()	 # get()获取第一个元素

        # 便利title列表元素并输出
        for title1 in title:
            print(title1)

        # 输出获取的一个元素
        print(title_one)

 2.4 终端运行爬虫程序

 2.4.1 需要进入爬虫框架目录 cd spiderTest

 

 2.4.2 命令执行爬虫程序

获取结果

 三、结语

1.总结

到这里你应该对爬虫爬取网页数据有了一个初步的概念,但想要真正学会编写高级的爬虫程序,还需要学习很多知识。

有一点还要提的就是如果你不会使用开发者工具定位爬取网页的标题(如下图),则需要另外去学习网页元素的定位,几分钟就能学会,这也是学习爬虫所必须掌握的,这里不多扩展。

2.python的学习建议

如果你不懂python,那么需要先学习python这门非常easy的语言(相对其它语言而言)。

编程语言基础语法无非是数据类型、数据结构、运算符、逻辑结构、函数、文件IO、错误处理这些,学起来会显枯燥但并不难。

刚开始入门爬虫,你甚至不需要去学习python的类、多线程、模块之类的略难内容。找一个面向初学者的教材或者网络教程,花个十几天功夫,就能对python基础有个三四分的认识了,这时候你可以玩玩爬虫喽!

当然,前提是你必须在这十几天里认真敲代码,反复咀嚼语法逻辑,比如列表、字典、字符串、if语句、for循环等最核心的东西都得捻熟于心、于手。

可以去牛客网在线练习,这个python入门题单从最开始的Hello World到实践任务、数据分析、机器学习,都会非常详细地职导你应该使用什么函数,应该怎么输入输出。

爬虫简单程序
07-23
应用beautifulsoup库进行简单网页爬取,写入到result.txt文件中
python爬虫概述——深入了解爬虫原理
04-26
Python爬虫概述是指使用Python语言编写的网络爬虫程序,旨在自动化地抓取互联网信息。爬虫的概念是模拟浏览器,发送请求,获取响应,自动地抓取互联网信息的程序爬虫的作用多样,包括数据采集、软件测试、网络...
一个简单爬虫程序
Richard_WangQianJin的博客
10-10 841
简单爬虫程序
Python爬虫入门实例:Python7个爬虫小案例(附源码)
最新发布
2301_78095812的博客
09-06 2339
包括:Python激活码+安装包、Python web开发Python爬虫Python数据分析,人工智能、自动化办公等学习教程。它模拟人类浏览网页的行为,发送HTTP请求,获取网页源代码,再通过解析、提取等技术手段,获取所需数据。这个案例使用正则表达式和requests库爬取猫眼电影Top100的电影名称、主演和上映时间等信息,并将这些信息保存到TXT文件中。(1)requests:简洁、强大的HTTP库,支持HTTP连接保持和连接池,支持SSL证书验证、Cookies等。
简单爬虫程序
Seaside_Boy的专栏
03-13 248
因为以后信息检索要做个作业,今天正好有空,写了个简单爬虫,真是不能再简单了。先爬了1000个网页,留作以后处理。 接口:WebPage.java import java.io.File; import java.net.MalformedURLException; /* * 定义了WebPage对象的基本操作 */ public interface WebPage { /**根据网页地址...
python爬虫数据_如何用python爬虫
weixin_28998775的博客
01-29 133
一,获取整个页面数据首先我们可以先获取要下载图片的整个页面信息。getjpg.py#coding=utf-8importurllibdefgetHtml(url):page=urllib.urlopen(url)html=page.read()returnhtmlhtml=getHtml("http://tieba.baidu.com/p/2738151262")printht...
简单爬虫程序(详解)
m0_67093160的博客
01-03 3805
简单爬虫程序,urllib的基本使用,urllib发送get请求
python编写爬虫程序
09-22
本案例将通过具体的代码实现来展示如何使用Python编写一个简单爬虫程序来爬取廖雪峰网站上的教程内容。 1. **需求分析** - 目标:爬取廖雪峰网站的教程内容,并保存为本地HTML文件。 - 背景:由于找不到完整...
一个简单python爬虫程序 爬取豆瓣热度Top100以内的电影信息
09-20
在本文中,我们将探讨如何使用Python编写一个简单爬虫程序,以抓取豆瓣电影热度Top100内的电影信息。首先,我们需要理解网络爬虫的基本概念。网络爬虫是一种自动化程序,它模仿人类浏览网站的行为,以获取并处理有...
HtmlCleaner-JAVA爬虫--编写一个网络爬虫程序
01-06
在本文中,我们将深入探讨如何使用HTMLCleaner来编写你的第一个Java爬虫程序。 首先,我们需要理解HTML爬虫的基本原理。网络爬虫是一种自动化程序,它遍历互联网上的网页,提取所需信息。在这个过程中,HTMLCleaner...
简单爬虫程序
12-14
java写的简单爬虫程序,可以进行简单爬虫,不过功能没有特别完善
爬虫编写代码软件
01-09
python作为一种新锐语言,他的更新是非常的快的。 3.x与2.x相比,它整合了urllib,urllib2,urllib3等一系列的模块,在3.x里,实现一个爬取网页简易的程序如下
简单的java爬虫程序
08-23
这是个完整的java爬虫程序,可以从一个指定的种子url开始以b广度优先的原则趴下相关的网页,保存在硬盘上
Python如何编写爬虫程序,附高级爬虫实现思路
weixin_34367845的博客
01-29 900
2019独角兽企业重金招聘Python工程师标准>>> ...
一篇文章你入门爬虫编写自己的第一个爬虫程序
2301_79959126的博客
07-26 2435
本文介绍了爬虫的基本概念、基本过程,并详细地讲解了一个爬虫程序的构思思路与代码实现,旨在领读者入门爬虫编写自己的第一个爬虫程序
简单爬虫编写
qq_43350003的博客
01-27 318
简单爬虫 简单爬虫很好写,直接使用urllib即可编写。 代码实战 #简单爬虫编写 import urllib.request data = urllib.request.urlopen("http://www.baidu.com").read() print(data) ...
Python零基础学习之编写爬虫程序
qq_43444478的博客
09-18 397
  现如今,随着人工智能时代呼声渐起,以及国家政策的大力扶持,Python得到广泛的应用,Python开发人员也成为了IT界的新贵。鉴于国内各大高校并没有单独开设Python课程,参加Python培训机构成为人们快速加入这一高薪行列的有效途径。作为Python最基础的应用之一,网络爬虫程序是每一个初学Python的人必须掌握的技能,下面千锋小编就给大家解说一下,Python零基础培训课程中如何学习编写爬虫程序。   想要编写爬虫程序了解爬虫是什么十分有必要。依据百科的定义,网络爬虫(又被称为.
写文章

热门文章

  • 带你快速了解爬虫的原理及过程,并编写一个简单爬虫程序 5519
  • Python中秋祝福小程序 2205
  • ECharts实现立体柱形图 2012
  • Echarts、js编写“中国主要城市空气质量对比”散点图,tomcat实现部署到服务器上运行 1383
  • 虚拟机中与主机名相关的配置文件(修改主机名后,需要修改的配置文件) 1256

分类专栏

  • PyCharm  3篇
  • eclipse 1篇
  • TomCat 1篇
  • ECharts 5篇
  • 虚拟机 1篇
  • Xshell 1篇

最新评论

  • 虚拟机中与主机名相关的配置文件(修改主机名后,需要修改的配置文件)

    无语的石头: 好,刚好用到,泄泻楼主

  • 带你快速了解爬虫的原理及过程,并编写一个简单爬虫程序

    芒果水蜜桃love_you: 怎么爬取网易云音乐付费歌曲,求视频教程

大家在看

  • 游戏贪吃蛇详细制作
  • QT--自定义信号槽、信号槽的连接方式、信号槽扩展、一个信号连接两个槽函数、多个信号连接一个槽函数、信号连接信号、断开连接 184
  • 【去哪儿-注册安全分析报告-缺少轨迹的滑动条】 609
  • DAY35||452.用最少数量的箭引爆气球 |435.无重叠区间 |763.划分字母区间
  • 基于ssm+vue个人信息综合管理系统(开题报告+程序+论文+java)

最新文章

  • Python中秋祝福小程序
  • Python实现动态爱心弹幕
  • java扫雷源码分享
2023年4篇
2022年8篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司汕头网站优化关键词报价广东电器网站优化公司北京网站建设优化传统行业网站优化如何优化优化的让我重新做网站威武网站优化云浮网站优化平台清水河网站优化怎么做网站结构变动对网站优化的影响优化公司网站帮助云速捷出众山东济南网站优化时间克州网站优化行业门户网站seo优化方案清远网站关键词优化多少钱瑞安网站制作优化推广和田地区网站优化搜索引擎优化网站外链贾汪区网站优化与推广网站产品优化推荐y火11星优化网站制作雪糕北京网站推广排名优化网站推广关键词优化安徽优化网站公司哪家好江苏网站关键词优化哪家好徐州网站优化流程百度推广网站怎么优化网站优化关键字是在哪儿青岛正规网站优化价格印刷网站优化推荐内蒙古网站优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化