python爬虫笔记(一)

news2025/3/16 7:08:15

文章目录

    • html
      • 基础
        • 标签和下划线
        • 无序列表和有序列表
        • 表格
          • 加边框
      • html的属性
        • a标签(网站)
          • target属性
          • 换行线和水平分割线
        • 图片
          • 设置宽高width,height
      • html区块——块元素与行内元素
        • 块元素与行内元素
        • 块元素举例
          • 行内元素举例
      • 表单
        • from标签
          • type属性
          • placeholder属性
          • value属性
          • span标签的应用
          • radio选项
        • label标签
          • for属性
          • checkbox多选
          • submit属性
        • from标签
        • css
        • css三种导入方式
        • 选择器
        • 元素选择器、类选择器、ID选择器、通用选择器
        • 子元素选择器(嵌套),后代选择器
        • 后代选择器示例
        • 伪类选择器
      • css属性

在这里插入图片描述

在这里插入图片描述

import requests
response = requests.get( "http://books.toscrape.com/")
if response.ok:
    print(response.text)
else:
    print("请求失败")

有User-Agent

import requests
headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.62"
}
response = requests.get("https://movie.douban.com/top250",headers=headers)
print(response.status_code)
from bs4 import BeautifulSoup
import requests
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/116.0.0.0"
}
response = requests.get("http://books.toscrape.com/", headers=headers)
content = response.text
soup = BeautifulSoup(content,"html.parser")
all_prices = soup.find_all("p",attrs={"class": "price_color"})
# for price in all_prices:
#     print(price)
for price in all_prices:
    # print(price.text)
    # print(price)
    # print(price.string)
    print(price.string[2:])
from bs4 import BeautifulSoup
import requests
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/116.0.0.0"
}
for start_num in range(0,250,25):
    response = requests.get(f"https://movie.douban.com/top250?start={start_num}", headers=headers)
    html = response.text
    soup = BeautifulSoup(html,"html.parser")
    all_titles = soup.findAll( "span",attrs={"class":"title"})
    for title in all_titles:
        title_string=title.string
        if "/" not in title_string:
            print(title_string)

在这里插入图片描述

html

基础

标签和下划线

在这里插入图片描述
在这里插入图片描述

无序列表和有序列表

在这里插入图片描述
在这里插入图片描述

表格

在这里插入图片描述
在这里插入图片描述

加边框

在这里插入图片描述

html的属性

在这里插入图片描述

a标签(网站)

在这里插入图片描述
在这里插入图片描述

target属性

在这里插入图片描述

在这里插入图片描述
1.self链接在当前窗口打开
2.blank链接在新窗口打开
3.parent链接在父窗口打开
4.top链接在顶层窗口打开

换行线和水平分割线

在这里插入图片描述
在这里插入图片描述
换行是br,水平分割线是hr

图片

在这里插入图片描述

设置宽高width,height

html区块——块元素与行内元素

块元素与行内元素

在这里插入图片描述

在这里插入图片描述

块元素举例

用于结构或布局
-------------------------------------------------------------a
在这里插入图片描述
在这里插入图片描述

------------------------------------------------------------------------a

行内元素举例

用于内联样式化文本,给文本的一部分用样式或标记
在这里插入图片描述

在这里插入图片描述

表单

from标签
type属性

input标签,type属性规定了input的类型

在这里插入图片描述

w3cschool.cn/html5/html5-input.html

可以在网站输入内容
在这里插入图片描述
在这里插入图片描述

placeholder属性

在这里插入图片描述
在这里插入图片描述

value属性

自动填写“请输入内容”
在这里插入图片描述
在这里插入图片描述

span标签的应用

在这里插入图片描述
在这里插入图片描述

radio选项

在这里插入图片描述
在这里插入图片描述
加入gender只能选一个,不加可以全部勾选
在这里插入图片描述

在这里插入图片描述

label标签
for属性

for一般与id绑定

password属性
在这里插入图片描述
在这里插入图片描述

checkbox多选

在这里插入图片描述
在这里插入图片描述

submit属性

在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=html, initial-scale=1.0">
    <title>html练习</title>
</head>
<body>
    <form>
        <label>用户名:</label>
        <input type="text" placeholder="请输入用户名"><br><br>
        <label for="pwd">密码:</label>
        <input type="password" id="pwd" placeholder="请输入密码"><br><br>

        <label>性别:</label>
        <input type="radio" name="gender"><input type="radio" name="gender"><input type="radio" name="gender">其他<br><br>

        <label>爱好:</label>
        <input type="checkbox" name="hobby">唱歌
        <input type="checkbox" name="hobby">跳舞
        <input type="checkbox" name="hobby">RAP
        <input type="checkbox" name="hobby">篮球<br><br>
      
        <input type="submit">
        </form>
        <form action="#"></form>
</body>
</html>

#需要为服务器,即api

from标签

提交后具体数据存到哪里
就是from中action属性

css

在这里插入图片描述

<!DOCTYPE html>
<html>
<head>
  <style>
    p {
      color: blue; /* 将所有 price_color 类的文本改为蓝色 */
   font-size: 16px;
    }
  </style>
</head>
<body>
  <p>这是一个应用css样式的文本</p>  
</body>
</html>
css三种导入方式

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=html, initial-scale=1.0">
    <title>html练习</title>
    <!-- <link rel="stylesheet" href="./style.css"  -->

    <style>
      p {
          color: blue; /* 将所有 p 标签的文本改为蓝色 */
          font-size: 16px;
      }
      
      h2 {
          color: green;
      }
    </style>
</head>
<body>
  <p>这是一个应用css样式的文本</p>  
  <h1 style="color: red;">这是一个一级标题使用内联样式</h1>
  <h2>这是一个二级标题,应用外部样式</h2>
  <h3>这是一个三级标题,应用外部样式</h3>
</body>
</html>
选择器

在这里插入图片描述
在这里插入图片描述

元素选择器、类选择器、ID选择器、通用选择器
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        h2{
            color:aqua;
        }  /* 元素选择器 */
      
        .highlight{
            background-color: yellow;
        }
      
        #header{
            font-size: 55px;
        }        /* id选择器 */

        *{
            font-family:'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
        }/* 通用选择器 */
        
    </style> 
</head> 
<body>
    <h1>不同类型的css选择器</h1>
    <h2>这是一个元素选择器示例</h2>
    <h3 class="highlight">这是一个类选择器示例</h3> 
    <h3>这是另一个类选择器示例</h3>
    <h4 id="header">这是一个id选择器示例 </h4>

</body>
</html>

在这里插入图片描述

子元素选择器(嵌套),后代选择器
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
       
      

      
        .father>.son{
            color:yellowgreen;
        }/* 子元素选择器 */
        
    </style> 
</head> 
<body>

在这里插入图片描述

后代选择器示例
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
       
      
        #header{
            font-size: 55px;
        }        /* id选择器 */

      
        .father>.son{
            color:yellowgreen;
        }/* 子元素选择器 */
        
    </style> 
</head> 
<body>
   


    <div class="father">
    <p class="son">这是一个子元素选择器示例</p>
</div>
<div>
    <p class="grandson">这是一个后代选择器示例</p>
</div>
</body>
</html>

在这里插入图片描述

后代包含子代,子代不包含孙子代,之所以后代选择器每变色是英文grandson不是子代

伪类选择器
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
       
      
        #header{
            font-size: 55px;
        }        /* id选择器 */

      
     #element:hover{
        background-color: purple;
     }
    </style> 
</head> 
<body>
   

<h3 id="element">这是一个伪类选择器示例</h3>
    
</body>
</html>

在这里插入图片描述
鼠标悬浮背景颜色会变

css属性

background-color
font-size
font-family
font-weight
在这里插入图片描述
菜鸟教程网站

runoob.com/cssref/css-reference.html#font

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2315874.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DC-6靶机详解

一、主机发现 arp-scan -l靶机ip为192.168.55.159 二、端口扫描、目录枚举、指纹识别、 2.1端口扫描 nmap 192.168.55.159发现没有开放特殊端口 看来信息收集的重点要放在网页中了 2.2目录枚举 dirb http://192.168.55.1592.3指纹识别 nmap 192.168.55.159 -sV -sC -O …

STM32-SPI通信外设

目录 一&#xff1a;SPI外设简介 SPI框图​编辑 SPI逻辑 ​编辑 主模式全双工连续传输 ​编辑 非连续传输 二&#xff1a;硬件SPI读写W25Q64 1.接线&#xff1a; 2. 代码 SPI外设的初始化 生成时序 一&#xff1a;SPI外设简介 STM32内部集成了硬件SPI收发电路&#…

远程控制中的云电脑是什么意思?1分钟学会用

很多常用我们ToDesk远程控制的朋友们或许会注意到无论是在PC端还是移动端中都出现有【云电脑】【来云电脑爽玩-新用户免费1小时】这些词句等信息。那么这究竟是代表什么意思呐&#xff1f;云电脑是什么又怎么用呐&#xff1f;为什么要增加云电脑&#xff1f;以下小编就为大家科…

网络爬虫【简介】

我叫补三补四&#xff0c;很高兴见到大家&#xff0c;欢迎一起学习交流和进步 今天来讲一讲视图 一、网络爬虫的定义 网络爬虫&#xff08;Web Crawler&#xff09;&#xff0c;又称为网络蜘蛛、网络机器人等&#xff0c;是一种按照一定规则自动抓取互联网信息的程序或脚本。它…

2024华东师范大学计算机复试上机真题

2024华东师范大学计算机复试机试真题 2023华东师范大学计算机复试机试真题 2022华东师范大学计算机复试机试真题 2024华东师范大学计算机复试上机真题 2023华东师范大学计算机复试上机真题 2022华东师范大学计算机复试上机真题 在线评测&#xff1a;传动门&#xff1a;pgcode…

14.使用各种读写包操作 Excel 文件:辅助模块

一 各种读写包 这些是 pandas 在底层使用的各种读写包。无须安装 pandas&#xff0c;直接使用这些读写包就能够读写 Excel 工作簿。可以尽可能地使用 pandas 来解决这类问题&#xff0c;只在 pandas 没有提供你所需要的功能时才用到读写包。 表中没有 xlwings &#xff0c;因为…

Python数据分析之数据可视化

Python 数据分析重点知识点 本系列不同其他的知识点讲解&#xff0c;力求通过例子让新同学学习用法&#xff0c;帮助老同学快速回忆知识点 可视化系列&#xff1a; Python基础数据分析工具数据处理与分析数据可视化机器学习基础 四、数据可视化 图表类型与选择 根据数据特…

1、操作系统引论

一、操作系统 会使用linux系统 建议大家先学会linux的基础指令&#xff0c;可以看菜鸟教程网站进行学习。 1、各种定义 操作系统定义 管理计算机的 硬件 和软件资源&#xff0c; 能对各类作业进行调度&#xff0c;方便用户使用计算机的程序集合。操作系统运行在内核态&#xf…

HarmonyOS NEXT - 网络请求问题(http)

HTTP&#xff08;HyperText Transfer Protocal&#xff0c;超文本传输协议&#xff09;是一种用于传输超媒体文档&#xff08;如HTML&#xff09;的应用层协议&#xff0c;它是客户端和服务器之间通信的基础&#xff1b;无论是获取数据、提交表单、上传文件&#xff0c;HTTP都扮…

告别旧版本,功能全面升级!

小伙伴们&#xff0c;今天来给大家唠唠一款超经典的软件——格式工厂&#xff01;相信很多人都不陌生吧&#xff1f;它可是早期超多人用的视频格式转换工具呢&#xff01;但随着软件行业的发展&#xff0c;它慢慢被其他工具代替了&#xff0c;像万兴、小丸、AME这些新宠儿一出现…

Obsidian Copilot:打造你的专属 AI 笔记助手

Obsidian Copilot作为一款非常受欢迎的Obsidian插件&#xff0c;不仅极大地提升了用户的笔记管理和信息检索效率&#xff0c;还通过其多样化的AI功能为用户带来了前所未有的便捷体验。本文将详细介绍Obsidian Copilot的核心特点、使用方法及个人体验分享。 核心特点 Obsidian…

VPC4-通达oa-docker逃逸-shiro反序列化-hash传递-CrackMapExec喷射-历史ptt攻击-进程注入

由于本人是菜鸡&#xff0c;不会免杀&#xff0c;所有免杀的部分就直接跳过了 &#xff08;hhh) 靶场地址&#xff1a; 链接: https://pan.baidu.com/s/1Fh1Zg79n1yjCPe6rrQ2apA 提取码: qiag 第一台ubuntu(docker逃逸&#xff0c;shiro反序列化&#xff09; fscan扫到一…

C++类与对象——拷贝构造与运算符重载

拷贝构造函数和赋值运算符重载就是C类默认六个函数之二。 拷贝构造函数&#xff1a; 如果⼀个构造函数的第⼀个参数是自身类类型的引用&#xff0c;且任何额外的参数都有默认值&#xff0c;则此构造函数 也叫做拷贝构造函数&#xff0c;也就是说拷贝构造是⼀个特殊的构造函数…

疗养院管理系统设计与实现(代码+数据库+LW)

摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装疗养院管理系统软件来发挥其高效地信息处理的作用&#xf…

2024年12月CCF-GESP编程能力等级认证C++编程四级真题解析

四级真题的难度: 一、总体难度评价 CCF-GESP编程能力等级认证C++四级真题的难度通常被认为相对较高。它不仅要求考生具备扎实的C++编程基础,还需要考生掌握一定的算法和数据结构知识,以及良好的问题解决能力。 二、具体难度分析 ‌理论知识考察‌: 单选题和判断题中,会涉…

MySQL开发陷阱与最佳实践:第1章:MySQL开发基础概述-1.1 MySQL简介与应用场景

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 MySQL开发陷阱与最佳实践&#xff1a;第1章&#xff1a;MySQL开发基础概述-1.1 MySQL简介与应用场景1.1.1 MySQL的发展历程与市场地位1.1.2 MySQL的核心特性与技术优势1.1.2…

使用GitHub Actions实现Git推送自动部署到服务器

将网站一键部署到服务器的方案很多&#xff0c;比如纯Shell脚本结合SSH、Jenkins等工具。本文将介绍如何利用GitHub Actions这一免费且轻量的CI/CD工具&#xff0c;实现代码推送后自动部署到云服务器。 之前一直在使用github的工作流&#xff0c;确实是一个比较好用的工具。 我…

PyTorch 系列教程:探索自然语言处理应用

本文旨在介绍如何使用PyTorch进行自然语言处理&#xff08;NLP&#xff09;的基础知识&#xff0c;包括必要的库、概念以及实际代码示例。通过阅读本文&#xff0c;您将能够开始您的NLP之旅。 1. 理解PyTorch PyTorch是一个开源的机器学习库&#xff0c;基于Torch库&#xff0…

3.14-1列表

列表 一.列表的介绍和定义 1 .列表 类型: <class list> 2.符号:[] 3.定义列表: 方式1:[] 通过[] 来定义 list[1,2,3,4,6] print(type(list)) #<class list> 方式2: 通过list 转换 str2"12345" print(type(str2)) #<class str> list2lis…

pyroSAR:开源的SAR数据处理与分析工具

今天为大家介绍的软件是pyroSAR&#xff1a;一款开源的SAR数据处理与分析工具。下面&#xff0c;我们将从软件的主要功能、支持的系统、软件官网等方面对其进行简单的介绍。 pyroSAR官网网址为&#xff1a;https://pyrosar.readthedocs.io/en/latest/。 pyroSAR是一个开源Pytho…