Python爬虫

概述和储备

  • 通俗定义:模拟浏览器(使数据可视化)行为抓取网页数据的技术

  • 技术定义:通过程序规则对互联网数据进行解析和存储

  • 工作原理:

    • 替代浏览器向服务器发起请求
    • 直接获取HTML等原始数据
    • 不进行页面渲染,专注数据提取
  • 爬虫流程示例

    • 基本流程:
      • 准备目标URL列表(地址URL)
      • 发送HTTP请求获取响应
      • 解析响应内容
      • 提取新URL(翻页/详情)---配置的参数在改变
      • 提取目标数据(封装处理)
      • 数据存储
    • 关键环节:翻页参数处理是保证数据完整性的重要技术点
  • 知识储备
    前端(HTML、CSS、JavaScript)小白教程#HTML 教程 <#了解HTML属性、元素、标题等>
    案例:#豆瓣电影排行榜 <#查看页面源代码>

  • 浏览器运行完整流程:

    • DNS解析获取服务器IP
    • 检查浏览器缓存(强缓存/协商缓存)
    • 与Web服务器建立TCP连接
    • 建立TCP连接(三次握手)
    • 获取HTML数据
    • 服务器响应HTML
    • 浏览器解析渲染(注:通过对结构的解析来抓取数据)
    • 执行JS脚本
    • 发起网络请求(如AJAX)
    • 响应ajax请求
    • 重点环节:理解从URL输入到页面渲染的完整链路
  • urllib库
    用于操作网页URL,并对网页的内容进行抓取处理

  • urllib模块 Example

    urllib.request---打开(urlopen方法)和读取URL

    urllib.error---包含urllib.request抛出的异常

    urllib.parse---解析URL

    urllib,robotparser---解析robots.txt文件

    • read() 函数获取网页的HTML实体代码,加入参数控制长度
    • readline() - 读取文件的一行内容
    • readlines() - 读取文件的全部内容

<#浏览器> - 可以对服务器返回的HTML数据进行解析从而在界面中呈现

复制代码
from urllib.request import urlopen
#urllib相关与URL处理的包管理器
url = ""
con = urlopen(url)
print('--------')
print(con.read)
f = open('test.html','wb')
f.write(cons)
f.close()
print(cons.decode{'utf-8'})

open

核心:创建一个file对象 python的I/O

复制代码
open(name[,model[,buffering]]) 

使用方式直接向上:

1.关于name:想访问的文件名

2.mode:决定打开的模式

mode-->w:只用与写入,如果文件存在,则直接打开,并从头进行编辑,进行原覆盖(删了重来),如果没有这个文件,他就会创建一个新的

mode-->wb:以二进制格式打开(一般用于非文本文件)

urllib主要作用:操作网页URL

复制代码
urllib.request.urlopen{url,data=None,[]}
相关推荐
zmzb01031 小时前
C++课后习题训练记录Day179
开发语言·c++
香吧香1 小时前
Python 基础语法总结
python
IT小盘1 小时前
10-使用Reranker提升RAG回答准确率
人工智能·python
卷无止境1 小时前
Python 装饰器:给函数穿件"外套",到底难在哪?
后端·python
不正经学生1 小时前
C语言指针进阶:const 和野指针——给指针加锁,向野指针宣战
c语言·开发语言·c++·算法·c#
程序喵大人1 小时前
【C++进阶】STL算法与函数对象 - 01 让算法去处理一段迭代器范围
开发语言·c++·算法·函数对象
大地之灯2 小时前
从零做一个自己的 CLI
python·agent
gugucoding2 小时前
34.【Java】I/O流(下):NIO与文件操作
java·python·nio
cui_ruicheng2 小时前
Python数据分析(十三):Seaborn 统计可视化
开发语言·python·信息可视化·数据分析