首页 > 其他分享 >爬虫基础

爬虫基础

时间:2022-11-07 16:56:05浏览次数:37  
标签:fp 抓取 基础 网络 爬虫 json 数据

一. 爬虫基础

网络爬虫(Crawler)又被称为网页蜘蛛(Spider),网络机器人,它是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本

名词解释

  • URL:Uniform Resource Locator,即统一资源定位符,也就是我们说的网址,统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址

  • 超文本:hypertext,文本+图片+音视频

  • http:hyper text transfer protocol,超文本传输协议, 就是服务器和客户端进行数据交互的一种形式

  • https:HyperText Transfer Protocol over Secure Socket Layer,以安全为目标的http通道,http下加入ssl层

  • cookies:cookies在浏览器端,在访问动态网页时浏览器会自动附带上它发送给服务器,服务器通过识别cookies并鉴定其是哪个用户,判断其是否登录状态,然后返回对应的响应

  • robots.txt协议:全称是“网络爬虫排除标准”(Robots Exclusion Protocol),君子协议。规定了网站中哪些数据可以被爬虫爬取哪些数据不可以被爬取,在网址后加/robots.txt可查看

网络中信息传输的加密方式

  • 对称秘钥加密
  • 非对称秘钥加密
  • 证书秘钥加密

网络爬虫用途

  • 主要用途:数据采集

  • 其他用途:12306抢票、各种抢购、投票、刷票、短信轰炸、网络攻击、Web漏洞扫描器

爬虫带来的风险

  • 爬虫干扰了被访问网站的正常运营
  • 爬虫抓取了收到法律保护的特定类型的数据或信息

爬虫在使用场景中的分类

通用爬虫:搜索引擎和web服务商用的爬虫系统。抓取系统重要组成部分,抓取的是一整张页面数据

聚焦爬虫:是"面向特定主题需求"的一种网络爬虫程序,是建立在通用爬虫的基础之上。抓取的是页面中特定的局部内容

增量式爬虫:检测网站中数据更新的情况,只会抓取网站中最新更新出来的数据

反爬机制VS反反爬策略

反爬机制:门户网站,可以通过制定相应的策略或者技术手段,防止爬虫程序进行网站数据的爬取

反反爬策略:爬虫程序可以通过制定相关的策略或者技术手段,破解门户网站中具备的反爬机制,从而可以获取门户网站中相关的数据

爬虫代理:

  • 代理网络用户去取得网络信息
  • 代理的作用:突破自身IP访问限制,访问团体内部资源,提高访问速度,隐藏真实IP
  • 爬虫代理可以获得较好的爬取效果(防止被封禁或输入验证码登录)

爬取数据的类型:

  • Html代码
  • Json字符串(api接口,手机端大部分是这种数据格式)
  • 二进制文件(图片,音频,视频等)
  • 各种扩展名的文件:CSS,JavaScript,各种配置文件等

二. 爬虫流程

  • 指定URL

    • User-Agent伪装:将爬虫对应的请求载体身份标识伪装成某一款浏览器

    • 请求参数处理

  • 发起请求,获取响应数据

    • urllib

    • requests

    • selenium

  • 提取信息

    • 正则表达式

    • beautiful soup

    • xpath

  • 保存数据

#保存数据到本地示例
#保存文本数据
with open('./sogou1.html','w',encoding='utf-8') as fp:
    fp.write(page_text)
    
#保存json对象数据
import json
with open('./sogou1.html','w',encoding='utf-8') as fp:
    json.dump(page_json,fp=fp,ensure_ascii=False) #ensure_ascii=False表示不进行ascii编码
    
#保存二进制数据
with open('./sogou1.jpg','wb') as fp:
    fp.write(page_bytes)

标签:fp,抓取,基础,网络,爬虫,json,数据
From: https://www.cnblogs.com/vahan/p/16866516.html

相关文章

  • 基础算法篇——双指针算法
    基础算法篇——双指针算法本次我们介绍基础算法中的双指针算法,我们会从下面几个角度来介绍:双指针简介双指针基本使用最长连续不重复字符列数组元素的目标和判断子序......
  • Numpy 基础教程之Numpy的介绍
    1.多维数组介绍Numpy(NumericalPython的简称),是Python数值计算最重要的基础包之一,大多数提供科学计算的包都以Numpy的ndarray(多维数组)为构建基础。下面我们就通过一些......
  • 软件工程基础Y-实验一王瑜
    (1)回顾你过去将近3年的学习经历当初你报考的时候,是真正喜欢软件工程这个专业吗?有一些喜欢至少比其它专业喜欢你现在后悔选择了这个专业吗?不后悔你认为你现在最喜欢......
  • 什么是 Python?Python 基础编程入门指南
    Python是当今最流行的编程语言之一。Python以其简单的语法和多功能性而闻名,既易于学习又可用于高级应用程序。可以使用Python的领域也非常广泛,人工智能、机器学习、Web开......
  • 深度学习基础课:全连接层的梯度检查
    大家好~我开设了“深度学习基础班”的线上课程,带领同学从0开始学习全连接和卷积神经网络,进行数学推导,并且实现可以运行的Demo程序线上课程资料:本节课录像回放1加QQ群,获......
  • C# 9.0 添加和增强的功能【基础篇】
    C#9.0添加和增强的功能【基础篇】 阅读目录一、记录(record)with表达式二、仅限Init的资源库三、顶级语句四、模式匹配增强功能五、模块初始值设定(Modu......
  • 1.网页基础
    13.web请求全过程浏览器输入地址,去请求baidu的服务器,服务器返回html。浏览器可以带着参数去请求服务器,服务器处理后返回相关html。直接把返回的数据直接放在html里面返......
  • Mysql - 基础学习1-连接数据库
    一.命令行登录mysql:mysql -u root -p123456注意:打开不了可能是没有启动服务 net start  mysql   ===启动mysql服务net stop mysql  ===停止my......
  • py爬虫数据到本地Excel表格
    效果图需要爬取的网页和内容程序目的:根据​​公众号文章​​中的内容,爬取文章的标题、发布时间、责任人署名、文章链接,将这个python程序打包成为exe文件,在运行exe文件时可以......
  • python爬虫,爬取51job 智联 58同城
    口182480171有源码和lun文词云图 ......