Skip to content

coryeleven/reptile_python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

爬虫

  • 通过编写程序,模拟浏览器上网,然后让其去互联网抓取的过程_

爬虫的价值

  • 实际应用
  • 就业

善意爬虫 恶意爬虫

爬虫再使用场景中的分类:

  • 通用爬虫: 抓取系统重要的组成部分,抓取是一整张的页面数据
  • 聚焦爬虫: 建立在通用爬虫基础上,抓取页面局部内容
  • 增量式爬虫: 检测网站中数据更新的情况,只会抓取网站中最新更新出来的数据

爬虫的矛与盾

电商同行之间获取价格的一种

反爬机制

门户网站,通过制定响应的策略或者技术手动,防止爬虫程序进行网站爬虫数据

  • User-Agent:请求载体的身份标识,使用浏览器发起的请求,请求载体的身份标识为浏览器,使用爬虫程序发起的请求,请求载体为爬虫程序。
  • UA检测:相关的门户网站通过检测请求该网站的载体身份来辨别该请求是否为爬虫程序,如果是,则网站数据请求失败。因为正常用户对网站发起的请求的载体一定是基于某一款浏览器,如果网站检测到某一请求载体身份标识不是基于浏览器的,则让其请求失败。因此,UA检测是我们整个课程中遇到的第二种反爬机制,第一种是robots协议。
  • UA伪装:通过修改/伪装爬虫请求的User-Agent来破解UA检测这种反爬机制

反反爬策略

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

robots.txt协议:

君子协议、(规定网站的数据拿写可以爬取,哪些不可以爬取)https://www.baidu.com/robots.txt

http 协议:

超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。

常用请求头信息:

  • User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4469.4 Safari/537.36,表示当前请求载体的身份
  • Connection: 请求完毕后,是否断开

https协议:(安全的超文本协议)

加密方式:

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

requests 模块(pytho中原生的一款基于网络请求的魔模块,功能非常强发,模拟浏览器发请求)

  • urllib 模块
  • requests 模块

如何使用:(request模块编码流程)

  1. 指定url
    • UA伪装
    • 请求参数处理
  2. 发起请求
  3. 获取响应数据
  4. 持久化存储

#聚焦爬虫, 数据解析原理概述

  • 解析的局部的问版本内容会显示在标签之间或者标签对应的属性中进行存储
    • 1通过指定标签的定位
    • 2标签或者标签对应的属性中存储的数据值进行提取

##正则

  • ex = '<div class="thumb">.*?<img src="(.*?)" alt.*?</div>' ##bs4,只能用作python 中
  • 数据解析的原理

    • 1.标签定位
    • 2.提取标签,标签属性中存储的数据值
  • bs4数据解析的原理

    • 1.实列化一个BeautifulSoup对象,并且将页面的源码数据加载到该对象中
    • 2.通过调用BeautifulSoup对象中相关的属性或者方法进行标签定位和数据提取
  • 环境安装

      1. pip install bs4
      1. pip install lxml
  • 实例化BeautifulSoup 对象

    • 1.将本地的html 文档中的数据加载到该对象中
fp = open('./tmp/index.html','r',encoding='utf-8')
soup = BeautifulSoup(fp,'lxml')
  • 2.将互联网上获取的页面源码加载带该对象中

About

python 爬虫学习

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages