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,[]}
相关推荐
weixin_307779134 小时前
C++代码实现MATLAB中的ode45函数功能
开发语言·c++·算法·matlab
泡茶喝茶写代码4 小时前
量化数据开发实战系列(第 25 篇):基金基础接口实战:基金列表、ETF-LOF 分类、基金概况、净值数据
java·数据库·人工智能·python·mysql
张小姐的猫4 小时前
【AI大模型接入SDK】 —— 数据管理 & 与Session模块进行联动
数据结构·数据库·c++·人工智能·python·chatgpt
troy1284 小时前
Python 进阶提升(十二):自动化测试与 DevOps 实战
python·devops
是立不是利5 小时前
大文件导致请求被拒的连锁反应
开发语言·前端·javascript
ynchyong5 小时前
SQLAlchemy 更新操作:values() 与 ordered_values() 的隐藏差异
python·sqlalchemy·update·values·ordered_values
statistican_ABin5 小时前
中国互联网与数字生活分析报告—基于1990-2023年世界银行互联网数据的多维度分析
python
野生技术架构师5 小时前
1200 道 JAVA 面试题(各大企业常见面试题及答案)
java·开发语言
“AI国潮设计-小江”5 小时前
【Python/SDXL实战】潮汕国潮IP视觉落地:普宁美食猫IP & 创意甜品设计(附ComfyUI工作流思路)
开发语言·人工智能·python·prompt·aigc
Yyyyyy~6 小时前
【java】类和对象
java·开发语言