【学习笔记1】什么是Python爬虫与Urllib介绍

文章介绍了互联网爬虫的概念,包括其核心——获取和解析数据,以及爬虫的用途如数据分析和舆情监控。接着详细讲解了Python的Urllib库基本使用方法,如打开URL、读取内容。同时,文章还提到了反爬手段,如UserAgent、代理IP和验证码等。
摘要由CSDN通过智能技术生成

一、爬虫的相关概念

1. 什么是互联网爬虫?

  • 如果我们把互联网比作一张大的蜘蛛网,那一台计算机上的数据便是蜘蛛网上的一个猎物,而爬虫程序就是一只小蜘蛛,沿着蜘蛛网抓取自己想要的数据
    • 解释1:通过一个程序,根据Url(http://www.taobao.com)进行爬取网页,获取有用信息
    • 解释2:使用程序模拟浏览器,去向服务器发送请求,获取响应信息

2. 爬虫的核心

1.获取数据:爬取整个网页 包含了网页中所有得内容
2.解析数据:将网页中你得到的数据 进行解析
3.怎样获取数据?:爬虫和反爬虫之间的博弈

3. 爬虫的用途

1.数据分析/人工数据集
2.社交软件冷启动
3.舆情监控

4. 爬虫的分类

通用爬虫:

  • 实例
    百度、360、google、sougou等搜索引擎‐‐‐伯乐在线
  • 功能
    访问网页‐>抓取数据‐>数据存储‐>数据处理‐>提供检索服务
  • robots协议
    一个约定俗成的协议,添加robots.txt文件,来说明本网站哪些内容不可以被抓取,起不到限制作用
    自己写的爬虫无需遵守
  • 网站排名(SEO)
  1. 根据pagerank算法值进行排名(参考个网站流量、点击率等指标)
  2. 百度竞价排名
    缺点
  3. 抓取的数据大多是无用的
    2.不能根据用户的需求来精准获取数据

5.反爬手段

  • 1.User Agent
    • User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版 本、CPU
      类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
  • 2.代理IP
    • 西次代理
    • 快代理
  • 什么是高匿名、匿名和透明代理?它们有什么区别?
    1.使用透明代理,对方服务器可以知道你使用了代理,并且也知道你的真实IP。
    2.使用匿名代理,对方服务器可以知道你使用了代理,但不知道你的真实IP。
    3.使用高匿名代理,对方服务器不知道你使用了代理,更不知道你的真实IP。
    3.验证码访问 打码平台 云打码平台 超级🦅
    4.动态加载网页 网站返回的是js数据 并不是网页的真实数据 selenium驱动真实的浏览器发送请求
    5.数据加密 分析js代码

二、Urllib库的使用

Ⅰ: Urllib库的基本使用方法

import urllib.request
 # 1、URL,需要访问的地址
url = 'http://www.baidu.com'
 # 2、模拟浏览器向服务器发送请求
response = urllib.request.urlopen(url)
 # 3、获取网站中的页面源码 read方法返回的是字节形式的二进制数据
 # 二进制变字符串--解码
content = response.read().decode('utf-8')
 # 打印内容
print(content)

II: 一个类型和六个方法

1.response类型为:<class ‘http.client.HTTPResponse’>
2.response.read() --> 按字节读取内容
3.response.readline() --> 一行行读取内容
4.response.readlines() --> 一次性读取多行内容
5.response.getcode() --> 获取状态码
6.response.getheaders() --> 获取状态信息以及相应的http头部

import urllib.request
url = 'http://www.baidu.com'
response = urllib.request.urlopen(url)
# 一个类型和六个方法
# response的类型是:HTTPResponse
print(type(response))
content = response.read()
print(type(content))
# 3个不同的读取方法:read,readline,redlines
# 返回状态码,200表示正常
print(response.getcode())
# 返回访问的URL地址
print(response.geturl())
# 获取状态信息以及相应头
print(response.getheaders())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值