Python 爬虫入门 Day 1 - 网络请求与网页结构基础

Python 第二阶段 - 爬虫入门

🎯 今日目标

  • 理解什么是 Web 爬虫、其应用场景
  • 掌握如何使用 requests 库向网页发送请求
  • 初步了解网页 HTML 结构(为解析做准备)

📘 学习内容详解

  1. 🕷️ 什么是爬虫?

    定义:

    网络爬虫(Web Crawler)是一种自动访问网页并提取数据的程序。

    常见用途:

    • 爬取图书/商品信息、电影/剧集评分等
    • 抓取招聘/房产数据进行数据分析
    • 自动化内容归档、信息监控、数据备份
  2. 🛠️ 使用 requests 库发起网络请求

    bash 复制代码
    pip install requests

    基本用法:

    python 复制代码
    import requests
    
    url = "https://example.com"
    response = requests.get(url)
    
    print("状态码:", response.status_code)
    print("网页内容:", response.text[:500])  # 预览前500字符

    常用参数:

    python 复制代码
    requests.get(url, params={'key': 'value'}, headers={'User-Agent': '...'})
    
    # 示例:
    headers = {'User-Agent': 'Mozilla/5.0'}
    response = requests.get("https://httpbin.org/get", headers=headers)
  3. 🌐 初识 HTML 结构

    网站返回的文本通常是 HTML,结构如下:

    html 复制代码
    <html>
      <head>
        <title>标题</title>
      </head>
      <body>
        <h1>主标题</h1>
        <p class="info">这是段落</p>
      </body>
    </html>

    我们后续会用工具(如 BeautifulSoup)提取这些标签中的内容。


💡 今日练习任务

  1. 使用 requests 获取以下网址内容:

  2. 打印网页的状态码、响应头和部分内容。

  3. 额外挑战:试着获取你感兴趣的网站首页源码,比如:

    python 复制代码
    	
    # url = "https://movie.douban.com/"
    # url = "https://www.jianshu.com"
    # url = "https://www.zhihu.com"
    url = "https://www.bilibili.com"
    headers = {
        'Accept': 'application/json, text/plain, */*',
        'Host': 'www.bilibili.com',
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0'
    }
    response = requests.get(url, headers=headers)
    
    print("状态码:", response.status_code)
    print("网页内容:", response.text)

    B站:

📝 今日总结

  • 学会了使用 requests 获取网页内容
  • 初步了解网页 HTML 构成
  • 知道了真实网站可能需要加 headers(伪装为浏览器)
相关推荐
GISer_Jing3 分钟前
AI全栈转型_TS后端学习路线
前端·人工智能·后端·学习
Rabitebla4 分钟前
vector 的骨架:三根指针、模板陷阱与迭代器失效的第一现场
开发语言·数据结构·c++·算法
时空系4 分钟前
第7篇:功能——打造你的工具箱 Rust中文编程
开发语言·网络·rust
BU摆烂会噶13 分钟前
【LangGraph】持久化实现的三大能力——人机交互
数据库·人工智能·python·langchain·人机交互
csbysj202013 分钟前
CSS !important:深度解析与最佳实践
开发语言
初心未改HD18 分钟前
Go语言测试与Benchmark:测试驱动开发的实践指南
开发语言·golang
chxii25 分钟前
lua流程控制语句和table(表)数据结构
开发语言·junit·lua
.柒宇.27 分钟前
AI掘金头条项目部署实践指南
linux·运维·python·fastapi
WL_Aurora28 分钟前
Python 算法基础篇之树和二叉树
python·算法
逻辑驱动的ken33 分钟前
Java高频面试考点场景题20
java·开发语言·深度学习·面试·职场和发展