Python爬虫mac版本项目

本文介绍了Python爬虫的基本概念,包括爬虫的工作原理、数据流向、所需软件环境及HTTP协议的理解。接着详细讲解了数据提取方法,如JSON、XPath和lxml库的使用,并探讨了requests模块的学习,涵盖发送GET、POST请求、处理响应等内容。同时,文章还提到了模拟浏览器行为、处理超时和重试机制以及处理cookie的相关技巧。
摘要由CSDN通过智能技术生成

爬虫概念、工具和HTTP

1.什么爬虫

  • 爬虫就是模拟客户端(浏览器)发送网络请求,获取响应,按照规则提取数据的程序

  • 模拟客户端(浏览器)发送网络请求 : 照着浏览器发送一模一样的请求,获取和浏览器一模一样的数据

2.爬虫的数据去哪了

  • 呈现出来:展示在网页上,或者是展示在app上
  • 进行分析:从数据中寻找一些规律

3.需要的软件和环境

  • python3

    • 黑马python基础班15天视屏:http://yun.itheima.com/course/214.html
    • 基础语法(字符串,列表,字典,判断和循环)
    • 函数(函数的创建和调用)
    • 面向对象(如何创建一个类,如何使用这个类)
  • pycharm

    • python编辑器
  • chrome浏览器

    • 分析网络请求用的

4.浏览器的请求

  • url

    • 在chrome中点击检查,点到network,
    • url = 请求的协议+网站的域名+资源的路径+参数
  • 浏览器请求url地址

    • 当前url对应的响应+js+css+图片 —》elements中的内容
  • 爬虫请求url地址

    • 当前url对应的响应
  • elements的内容和爬虫获取到的url地址的响应不同,爬虫中需要以当前url地址对应的响应为准提取数据

  • 当前url地址对应的响应在哪里

    • 从network中找到当前的url地址,点击response
    • 在页面上右键显示网页源码

5.认识HTTP、HTTPS

  • HTTP:超文本传输协议

    • 以明文的形式传输
    • 效率更高,但是不安全
  • HTTPS:HTTP + SSL(安全套接字层)

    • 传输之前数据先加密,之后解密获取内容
    • 效率较低,但是安全
  • get请求和post请求的区别

    • get请求没有请求体,post有,get请求把数据放到url地址中
    • post请求常用于登录注册,
    • post请求携带的数据量比get请求大,多,常用于传输大文本的时候
  • HTTP协议之请求

    • 1.请求行
    • 2.请求头
      • User-Agent:用户代理:对方服务器能够通过user_agent知道当前请求对方资源的是什么浏览器
        • 如果我们需要模拟手机版的浏览器发送请求,对应的,就需要把user_agent改成手机版
      • Cookie:用来存储用户信息的,每次请求会被携带上发送给对方的浏览器
        • 要获取登录后才能访问的页面
        • 对方的服务器会通过cookie来判断是我们是一个爬虫
    • 3.请求体
      • 携带数据
      • get请求没有请求体
      • post请求有请求体
  • HTTP协议之响应

    • 1.响应头
      • Set-Cookie:对方该字段设置cookie到本地
    • 2.响应体
      • url地址对应的响应

数据提取方法

json

  • 数据交换格式,看起来像python类型(列表,字典)的字符串

  • 使用json之前需要导入

  • 哪里会返回json的数据

    • 流程器切换到手机版
    • 抓包app
  • json.loads

    • 把json字符串转化为python类型
    • json.loads(json字符串)
  • json.dumps

    • 把python类型转化为json字符串
    • json.dumps({})
    • json.dumps(ret
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值