当前位置: 首页 > news >正文

台州本地做网站的广点通

台州本地做网站的,广点通,宁波网站制作哪家优惠多,自媒体害了多少人一、基本概念 动态网页是指网页内容可以根据用户的操作或者预设条件而实时发生变化的网页。 特点: 用户交互:动态网页能够根据用户的请求而生成不同的内容。内容动态生成:数据来自数据库、API或用户输入。客户端动态渲染:浏览器…

一、基本概念

动态网页是指网页内容可以根据用户的操作或者预设条件而实时发生变化的网页。

特点

  • 用户交互:动态网页能够根据用户的请求而生成不同的内容。
  • 内容动态生成:数据来自数据库、API或用户输入。
  • 客户端动态渲染:浏览器通过JavaScript/AJAX动态加载内容(如滚动加载更多商品)
  • 服务器端处理:动态网页通常需要服务器端脚本来处理用户的请求。脚本语言通常是PHP、java、Python、ruby等

二、网页判别

  • 检查方法
  1. 右键查看网页源代码(ctrl+u),搜索关键数据(ctrl+f),如果源代码中没有目标数据,说明是动态加载.

上面的图片明显看得出来,在网页源代码中并没有找到目标数据。

      2、分析网络请求(F12 → Network),观察XHR/Fetch请求,看数据是否通过API返回(通常是JSON格式)。

这里就做一下静态网页和动态网页的对比

静态网页动态网页
  • 动态网页特征

                1、 页面内容逐步加载

                2、滚动到页面底部时加载更多内容

                3、数据通过异步请求获取

三、爬虫步骤

  1. 我使用开发工具直接调用API

点击预览可看到,网页上的一些数据

2、url太长了,我们可以查询字符型串参数来定义请求参数,url中?号后面可以不要

3、在标头中找到User-Agent,来模拟浏览器

代码:

# 导入requests库用于发送HTTP请求
import requests
# 从typing模块导入类型注解所需的类型
from typing import Dict, List# 定义获取热点新闻的函数,返回类型注解为List[Dict]
def hot_news() -> List[Dict]:# List[Dict]: 返回一个字典列表,每个字典包含一条新闻的信息# 定义请求头,模拟浏览器访问headers = {# 用户代理,标识客户端信息'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0',}# 定义请求参数params = {# 来源平台标识'origin': 'toutiao_pc',# 签名参数,用于验证请求合法性(可能会过期)'_signature': '_02B4Z6wo00901iZ5CawAAIDCEV3N8.rNWGomXQ0AAO6JwLZsIueh1TRpco1.6.JGKOj3uc9xHlCRxuw.wFTHZgOZLg1VOHco5rVDuDUVr-4zDQ2LC1UG0Cumhra0kq6uy9bLrGYAoD97KLsk34'}# 目标API地址url = "https://www.toutiao.com/hot-event/hot-board/"# 使用try-except块捕获可能出现的异常try:# 发送GET请求,设置10秒超时res= requests.get(url, params=params, headers=headers, timeout=10)# 如果响应状态码不是200,抛出HTTPError异常res.raise_for_status()# 将响应内容解析为JSON格式data = res.json()# 验证返回的数据结构是否为字典且包含data键if not isinstance(data, dict) or 'data' not in data:print("数据格式异常")  # 打印错误信息return []  # 返回空列表# 返回data字典中的'data'键对应的值(新闻列表)return data['data']# 捕获所有requests可能抛出的异常except requests.exceptions.RequestException as e:print(f"请求失败: {e}")  # 打印请求失败信息return []  # 返回空列表# 捕获JSON解析异常except ValueError as e:print(f"JSON解析失败: {e}")  # 打印解析失败信息return []  # 返回空列表# 定义打印新闻标题的函数,接收新闻列表参数
def hot_titles(list: List[Dict]) -> None:#ist: 新闻列表,每个元素是一个包含新闻信息的字典# 使用enumerate遍历列表,同时获取索引和元素,从1开始计数for id, item in enumerate(list, 1):# 从字典中获取'Title'键的值,如果没有则使用'无标题'作为默认值title = item.get('Title', '空')# 格式化打印序号和标题print(f"{id}. {title}")# Python的主程序入口
if __name__ == '__main__':# 调用hot_news函数获取热点新闻数据top_news = hot_news()# 调用hot_titles函数打印新闻标题hot_titles(top_news)

效果:/*做敲代码的时候,我电脑没电了,再次开机的时候就重新找的一个,所以这个与我上面预览的数据不一样*/

四、拓展

from typing import Dict,List# 标注字典类型,表示键为str,值为int的字典
age_dict: Dict[str, int] = {"Alice": 25, "Bob": 30}# 标注列表类型,表示元素为字符串的列表
names: List[str] = ["Alice", "Bob"]

http://www.cadmedia.cn/news/15810.html

相关文章:

  • 商务网站建设策划思路搜索引擎优化不包括
  • 江门网站建设公司哪家好上海网站seo招聘
  • 平谷网站建设公司自媒体推广
  • 网络营销站点页面设计原则网络优化工程师简历
  • 杭州专业网站设计策划靠谱的seo收费
  • 做外单网站分发平台
  • 网站建设公司百家号我想做个网站怎么做
  • 济宁网站建设专业定制百度指数怎么看
  • 如何进行网络推广市场定位安卓系统优化app
  • 旅游网站建设项目拼多多关键词排名查询
  • 2022中央经济工作会议搜索引擎排名优化程序
  • 上海专业建网站公司搜索引擎关键词优化技巧
  • 沈阳网站建设 房小二网站建设服务商
  • 27寸显示器网站建设长春seo排名优化
  • 什么软件做网站链接网络营销教程
  • 江北区网站建设全部视频支持代表手机浏览器
  • 公司网站代码linux网站入口
  • 明远建设是哪里的搜索引擎优化课程
  • 58黄页网推广效果怎样黑帽seo联系方式
  • 做郑州的购物网站用什么名安徽seo顾问服务
  • 福州网红景点英文seo
  • 暗网网站建设如何免费建立一个网站
  • 范县网站建设费用网站客服
  • 建站小程序编辑器闪亮登场广州网站定制多少钱
  • 学生网上兼职网站seo黑帽培训
  • 广东网站建设免费接app推广
  • wordpress发布文章出现404什么是搜索引擎优化?
  • 创建公司网站免费百度热搜广告位多少钱
  • 常州电子商务网站建设企业seo顾问
  • 如何自主建设企业网站百度快速收录提交工具