python简易版爬虫

概念:网络爬虫,通过超链接(URL)爬取网页所有数据用于测试。

用途:在用户浏览网页的过程中,会看到许多图片、按钮、文字等(如http://image.baidu.com/ )这个过程其实就是用户输入网址之后,经过DNS服务器找到服务器主机,向服务器发出一个请求,服务器经过解析之后,返回给用户的浏览器 HTML、JS、CSS 等文件,浏览器解析出来,用户便可以看到形形色色的图片、文字了。爬虫爬取的就是这些内容,再通过分析和过滤这种HTML代码,实现对文字和图片的获取。

HTTP和HTTPS
HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法。

HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)简单讲是HTTP的安全版,在HTTP下加入SSL层。

SSL(Secure Sockets Layer 安全套接层)主要用于Web的安全传输协议,在传输层对网络连接进行加密,保障在Internet上数据传输的安全。

使用框架:python3安装详解+Urllib库

Urllib库:Python自带的标准库,无需安装,可以直接使用.打开IDLE,新建一个py(快捷键ctrl+N),输入需要的网址

在这里插入图片描述
运行结果,页面元素如下图
在这里插入图片描述

正则表达式
有时候抓取结果是一推杂乱的HTML代码,但是只想提取有用的信息,怎么办呢,介绍一个超级优化工具——正则

匹配逻辑

  1. 准备文本文字
  2. 依次拿出表达式和文本中的字符比较
  3. 如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。

数量词的贪婪模式与非贪婪模式
正则表达式通常用于在文本中查找匹配的字符串。Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符(一直向右匹配);非贪婪的则相反,总是尝试匹配尽可能少的字符。例如:正则表达式”ab*”如果用于查找”abbbc”,将找到”abbb”。而如果使用非贪婪的数量词”ab*?”,将找到”a”。

注:我们一般使用非贪婪模式来提取。

反斜杠问题
与大多数编程语言相同,正则表达式里使用”\”作为转义字符,这就可能造成反斜

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值