爬虫疑问百解

爬虫简介

什么是爬虫:
    - 通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程。

http协议
    - 概念:就是服务器和客户端进行数据交互的一种形式。
常用请求头信息
    - User-Agent:请求载体的身份标识
    - Connection:请求完毕后,是断开连接还是保持连接

常用响应头信息
    - Content-Type:服务器响应回客户端的数据类型

https协议:
    - 安全的超文本传输协议

加密方式
    - 对称秘钥加密
    - 非对称秘钥加密
    - 证书秘钥加密

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

requests模块基础

操作流程

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

举个例子:

import requests


def get_sogou():
    #step1 指定URL
    url = 'https://www.sogou.com/'
    #step2 发起请求
    response = requests.get(url=url)
    #step3 获取响应数据,txt返回的是字符串形式的响应数据
    page_txt = response.text
    print(page_txt)
    #step4 持久化存储
    with open('./sogou.html','w',encoding='utf-8') as f:
        f.write(page_txt)
    print('爬虫结束-----')



if  __name__ == '__main__':
    get_sogou()

 requests模块参数都有啥?

Python 提供了 requests 模块用来处理网页的 url,主要有 get() 和 post() 两个方法,分别对应网页的 Get 请求和 Post 请求。get() 和 post() 方法有以下几个参数:

  • url:指定请求 URL;

  • params:字典类型,指定请求参数,GET 请求时使用;

  • data: 字典类型,指定表单信息,常用于发送 POST 请求;

  • headers:字典类型,指定请求头;

  • proxies:字典类型,指定使用的代理;

  • cookies:字典类型,指定 Cookie;

  • auth:元组类型,指定登陆时的账号和密码;

  • verify:布尔类型,指定请求网站时是否需要进行证书验证,默认为 True,表示需要证书验证,假如不希望进行证书验证,则需要设置为 False;

  • timeout:指定超时时间,若超过指定时间没有获得响应,则抛出异常。

  • get() 和 post() 两个方法这两个方法都会返回一个Response对象,其常用的属性和方法列举如下:

咱一般都用的json这个是个啥?

 dumps 方法 Python 数据结构转换为 JSON:

 loads 方法

可以将一个 JSON 编码的字符串转换回一个 Python 数据结构,并取指定的值:

 

将字典写入 JSON 文件 、

data.json 是需要保存的文件名名字,dump是用来写入储存数据的,注意区分的是dumps

是将  dumps 方法 Python 数据结构转换为 JSON

 读取文件中的 JSON 数据

 

 因为把json文件弄成的是json类型的当成f所以下载的时候(也就是解析成python数据类型的时候)传入f,也就是变成字典形式        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值