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,[]}
相关推荐
“AI国潮设计-小江”37 分钟前
《Python+SDXL实战:用ControlNet精准控制“英歌舞翻糖吐司”构图,附批量生成脚本》
开发语言·人工智能·python·prompt·aigc
程序喵大人44 分钟前
【C++入门】编译链接模型 - 01 一个 C++ 程序是怎样变成可执行文件的
开发语言·c++·编译链接模型
wenwen_chao1 小时前
Python学习与开发资源合集:实用技巧与工具推荐
python
for_ever_love__2 小时前
函数——参数、lambda、*args与作用域
python·函数·大模型开发·编程基础
东莞市云毅网络有限公司2 小时前
企业资料时效性判定:Last-Modified、正文日期与版本字段三路交叉
python·sqlite·自动化运维·geo·数据监测
Query*2 小时前
深入浅出LangGraph【一】_基础篇
python·ai·langchain
sunshine22 girl2 小时前
Java学习七 Java 项目实战1-项目创建和主页面搭建
java·开发语言·学习
XiaoMaqqqq2 小时前
市面上正规的IP驱动产业新场景新工具哪家强
运维·python·网络协议·tcp/ip
菜鸟~noob2333 小时前
【电子战】第三季预告—波武器与电子系统强力毁伤
开发语言·数据库·matlab·电子战
ShyanZh3 小时前
【Python3基础】19-Socket 与 TCP、UDP 编程
python·网络协议·tcp/ip·udp