python:写你的第一个爬虫代码

news/2025/1/11 21:45:49/

什么是爬虫

爬虫spider,是指向网站或者网络发出请求,获取资源后分析并提取对自己有用的数据的程序。

在这里插入图片描述
request:是指用户将自己的信息通过浏览器发送给服务器。
response:服务器收到用户的请求分析后,返回的数据。
注意:浏览器在接收到服务器的response后,会解析出显示给用户,爬虫程序主要就是模拟浏览器向服务器发出请求并且接收到response后,提取自己需要的数据的过程。

request
请求方式:get/post
请求的url:用来定位互联网上的唯一资源。
User-agent:没有请求头,服务端会当作非法用户host。
cookies:用来保存登录信息。
爬虫程序一般都需要请求头~
请求有需要注意的几个参数:referrer/User-Agent/cookie
请求体:分两种情况,get请求不包含请求体,直接从放在url后面的参数中,如果post请求,请求体就是format data。

response
响应状态:~200:成功 ~301:跳转 ~404:文件不存在 ~403:无权限访问 ~502:服务器错误
response header:响应头需要注意的参数:set-Cookie:BDSVRTM=0;path=/: 可能会有多个参数,用来告诉浏览器,把cookie保存下来。
preview:json数据

获取百度网页数据并放到文件中
在这里插入图片描述

from urllib.request import urlopenurl = "http://www.baidu.com"resp = urlopen(url)with open("mybaidu.html",mode="w") as f:f.write(resp.read().decode("utf-8"))print("over!")

百度翻译,输入一个单词并翻译

import requests
url = "https://fanyi.baidu.com/sug"
s = input("请输入你要翻译的单词:")
data = {"kw":s
}
# 发送post请求,发送的数据必须放在字典中,通过data参数进行传递
resp = requests.post(url,data=data)
# 将服务器返回来的内容直接处理成json() =>dict
print(resp.json())
resp.close() #关掉resp

获取豆瓣的电影排行榜数据

import requestsurl = "https://movie.douban.com/j/chart/top_list"# 重新封装参数
param = {"type": "11","interval_id":"100:90","action":"","start": 0,"limit": 20
}
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36X-Requested-With: XMLHttpRequest"
}
resp = requests.get(url=url,params=param,headers=headers)
print(resp.json())
resp.close() #关掉resp

http://www.ppmy.cn/news/6195.html

相关文章

等保2.0参与医院网络安全管理的重要性

随着现代医院 IT 技术架构的演变、新兴技术的引入,来自医院内外部的各种安全风险不断出现,对医院网络安全提出了更多挑战,医院网络安全在技术层面和管理层面都亟待完善。为此,借鉴相关法律法规、行业标准等,提出提升现…

LeetCode Hot 100~Day2

目录 三数之和 电话号码的字母组合 括号生成 合并k个升序链表 下一个排列 搜索旋转排序数组 在排序数组中查找元素的第一个和最后一个位置 组合总数 全排列 旋转图像 三数之和 题目链接:15.三数之和 示例 输入:nums [-1,0,1,2,-1,-4] 输…

python基础(25):StringIO和BytesIO 序列化

StringIO和BytesIO - 廖雪峰的官方网站 (liaoxuefeng.com) 目录 StringIO BytesIO 小结 操作文件和目录 环境变量 操作文件和目录 小结 练习 序列化 JSON JSON进阶 练习 小结 StringIO 很多时候,数据读写不一定是文件,也可以在内存中读写…

科研信息基础设施的运行治理模式研究

摘要 【目的】科研信息基础设施建设是支持科技创新、社会治理与全球合作的坚实基础,需要配套强有力的治理模式来推进实施。【方法】本研究围绕科研信息基础设施,构建了包括组织模式、服务模式和运营模式在内的三维治理框架,遴选了国内外十余个案例进行比较分析。【结果】科研…

[思维模式-12]:《如何系统思考》-8- 工具篇 - 因果回路图/系统循环图/系统控制图,系统思考的关键工具

目录 第1章 因果回路图概述 1.1 什么是因果回路图 1.2 反馈回路 第2章 因果图的组成 2.1 回路 2.2 变量 2.4 连接 > 不同变量之间的函数关系 2.5 增强回路 2.6 调节回路 2.7 时间延时 第3章 因果图的用途与应用 3.1 因果图的价值 3.2 因果图的用途 第4章 因果图…

SpringBoot 结合 MyBatis-Plus 配置多数据源以及结合 p6spy 打印 SQL 日志

title: SpringBoot 结合 MyBatis-Plus 配置多数据源以及结合 p6spy 打印 SQL 日志 date: 2022-12-23 11:23:16 tags: SpringBootMyBatis-Plus categories:开发技术及框架 cover: https://cover.png feature: false 1. 配置多数据源 官网:多数据源 | MyBatis-Plus …

spring之Bean的生命周期

文章目录一、Bean的生命周期之五步1、准备User类2、spring配置文件3、测试类4、运行结果二、Bean的生命周期之七步1、实现BeanPostProcessor类2、配置文件3、运行结果:三、Bean的生命周期之十步1、点位12、点位23、点位3四、Bean的作用域一、Bean的生命周期之五步 …

Python基础(十八):学员管理系统应用

文章目录 学员管理系统应用 一、系统简介 二、步骤分析 三、需求实现 1、显示功能界面 2、用户输入序号,选择功能 3、根据用户选择,执行不同的功能 4、定义不同功能的函数 学员管理系统应用 一、系统简介 需求:进入系统显示系统功能…