2023爬虫学习笔记 -- 某狗网站爬取数据

news2024/11/19 14:37:38

一、爬取某狗网站的首页

1、导入需要的库文件

import requests

2、指定我们要访问的网址

网页="https://www.sogou.com"

3、获取服务器的返回的所有信息

响应=requests.get(网页)

4、通过text属性,从返回信息中读取字符串内容

响应内容=响应.text

5、查看读取到的内容

print(响应内容)

6、将读取到的内容存放起来

withopen("sogou.html","w") as 数据:    数据.write(响应内容)

7、程序执行完毕

print("存储数据成功!!!")

8、预览我们保存的sogou.html页面

9、保存的内容有乱码,所以我们保存的时候要指定编码格式

withopen("sogou.html","w",encoding="utf-8") as 数据:    数据.write(响应内容)

二、实现搜索功能

1、搜狗首页输入要搜索的内容

2、分析搜索的网址,query后面跟着的就是想要搜索的内容

https://sogou.com/web?query=python

3、设置要搜索的关键字,修改上面的程序

搜索关键字=input("请输入要搜索的关键字:")网页="https://sogou.com/web?query="+搜索关键字

4、重新运行程序,输入要搜索的关键字,按回车键

5、浏览保存的文件,又报错了,检测到了异常

6、给他加上一个头信息,加上浏览器指纹

头={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"}响应=requests.get(网页,headers=头)

7、运行结果

三、如果传递多个参数,可以将参数写成一个字典形式

参数={"query":搜索关键字}响应=requests.get(网页,params=参数,headers=头)

四、最终源码

import requests搜索关键字=input("请输入要搜索的关键字:")​参数={"query":搜索关键字}​头={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"}## 网页="https://sogou.com/web"网页="https://sogou.com/web?query="+搜索关键字响应=requests.get(网页,params=参数,headers=头)响应内容=响应.textprint(响应内容)​with open("sogou.html","w",encoding="utf-8") as 数据:    数据.write(响应内容)​print("存储数据成功!!!")​

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

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

相关文章

唐宇迪机器学习实战课程笔记(全)

1. 线性回归1.1线性回归理论1.2线性回归实战2.分类模型评估(Mnist实战SGD_Classifier)2.1 K折交叉验证K-fold cross validation2.2 混淆矩阵Confusion Matrix2.3 准确率accuracy、精度precision、召回率recall、F12.4 置信度confidence2.5 ROC曲线3.训练调参基本功(LinearRegre…

1612_PC汇编语言_条件以及控制结构

全部学习汇总: GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 这一次简单看看条件分支以及控制结构,感觉看完这部分之后,汇编的大部分框架已经有个差不多了。我的目的并不是成为汇编高手,因此…

数据处理——增删改

文章目录插入数据方式一:values方式2:将查询结果插入到表中更新数据删除数据MySQL8新特性:计算列综合案例插入数据 用INSERT插入数据 方式一:values 使用这种语法一次只能向表中插入一条数据。 情况1:为表的所有字段…

1月,不要跳槽

新年结束了,一些不满现状,被外界的“高薪”“好福利”吸引的人,一般就在这时候毅然决然地跳槽了。 在此展示一套学习笔记 / 面试手册,年后跳槽的朋友可以好好刷一刷,还是挺有必要的,它几乎涵盖了所有的软件…

通信原理笔记—码间串扰与波形传输无失真的条件(奈奎斯特第一准则)

目录 波形传输的无失真条件: 码间串扰问题: 奈奎斯特第一准则: 在抽样判决时刻没有码间串扰的信号波形示例: 具有最窄频带的无码间串扰基带传输系统: 无码间串扰基带系统的主要参数: 一种典型的滚降…

golang中的图像image处理详解

常用的图像格式有png,jpeg,gif,对应的文件后缀为png,jpg,gif,当然文件的具体内容编码才能证明存放的是哪种文件,图像文件的头部都存储了具体标志,比如jpeg前缀\xffd8,png…

Redis实现消息队列

7、Redis消息队列 7.1 Redis消息队列-认识消息队列 什么是消息队列:字面意思就是存放消息的队列。最简单的消息队列模型包括3个角色: 消息队列:存储和管理消息,也被称为消息代理(Message Broker)生产者&…

定位tcp连接或端口是属于哪个进程

首先要知道tcp连接的端口号,要么是本地端口号要是么remote端口号。有的端口号我们已知,有的端口号可以通过日志获取,也可以抓包获取,如然后是用netstat命令获取pidlinux下使用netstat -anpt(a是输出所有n是展示端口号&…

【✓基础算法 2.4】KMP(完结)

当模式串和主串的子串有不匹配时,便往后退一步,看是否能走通,如果不能,则进行退—— KMP 目录 一、KMP算法简介 二、手算求next数组 三、next数组实现代码 四、完整代码实现 1、java 2、c 一、KMP算法简介 当主串的子串…

软件测试刚入职,很茫然怎么办~

毕业后能直接到公司开始工作,是多少人都想要却得不到的机遇,你现在茫然无非是因为对软件测试是做什么的不了解,也不知道软件测试的职业规划到底是怎么样的~ 既然已经进入了公司,那就要珍惜机会,多学习,多问…

redis7 Cluster模式 集群

1.Redis集群模式介绍 Cluster模式是Redis3.0开始推出的Redis Cluster属于AP模型采用无中心结构,每个节点保存数据和整个集群状态, 每个节点都和其他所有节点连接官方要求:至少6个节点才可以保证高可用,即3主3从;扩展性强、更好做到…

[GUET-CTF2019]re

于尘世中携一支笔,绘春风十里。 1.查壳 64bit加了UPX壳 2.使用Kali Linux脱壳 re脱壳3.静态分析 shift加F12打开string窗口 发现可疑字符,点击跟进 光标放在aCorrect,点击快捷键X查看引用这个字符串的地方 点击跟进 按下F5反编译 将函数重命…

为什么AI爆炸式增长会对元宇宙产生巨大影响

欢迎来到Hubbleverse 🌍 关注我们 关注宇宙新鲜事 📌 预计阅读时长:9分钟 本文仅代表作者个人观点,不代表平台意见,不构成投资建议。 想想你梦想中的房子。也许它有高高的拱形天花板、温暖的壁炉和宽阔的窗户&…

Allegro如何打开丝印位号的飞线操作指导

Allegro如何打开丝印位号的飞线操作指导 用Allegro做PCB设计的时候,移动器件的位号,会有根飞线实时提示位号是属于哪个器件的,如下图 但是只有在临时移动丝印位号的时候才会显示飞线,如何让所有的器件位号的全部显示,具体操作如下 选择Setup选择User Preferences

如何通过Zabbix Docker配置HTTPS访问系统?

概述 前面文章曾介绍过如果使用docker-compose快速部署一个Zabbix系统,但是部署的Zabbix系统是使用http协议进行访问的。有时候为了保证安全。我们需要配置使用https协议进行访问。 下面就讲述如何使用自签名的ssl证书配置https访问。(注:若是…

开发者对抗软件创新焦虑的“180 法则” | 对话MongoDB CTO Mark Porter

在 MongoDB 首席技术官 Mark Porter 看来,创新滞后并不是因为公司缺乏灵感或创造力,而是因为他们被迫将时间花费在维护传统框架上,导致数据相关工作举步维艰,这是大多数组织都存在的问题。那么,对于企业而言&#xff0…

千姿百态,瞬息万变,Win11系统NeoVim打造全能/全栈编辑器(前端/Css/Js/Vue/Golang/Ruby/ChatGpt)

我曾经多次向人推荐Vim,其热情程度有些类似现在卖保险的,有的时候,人们会因为一些弥足珍贵的美好暗暗渴望一个巨大的负面,比如因为想重温手动挡的快乐而渴望买下一辆二十万公里的老爷车,比如因为所谓完美的音质而舍不得…

xxl-sso知识点

1、哈希环算法: 通过将数据分配到一个环形的哈希表上来实现数据的分布,根据环上的顺序依次进行分配。 对于数据敏感的服务不能用取余hash来实现,当新增节点时之前按照取余hash放的数据在新增节点之后在相应的节点找不到数据,而哈…

“华为杯”研究生数学建模竞赛2005年-【华为杯】B题:空中加油

赛题描述 对飞行中的飞机进行空中加油,可以大大提高飞机的直航能力。为了简化问题,便于讨论,我们作如下假设。 少辅机架数两种情况给出你的作战方案。 解题思路 摘要: 本文讨论了在辅机只能一次起飞和可以多次起飞情况下,辅机数量与主机 最大作战半径的关系,给出了只…

【前端工程化】一.前端工程化;二.使用webpack打包vue项目;三.在webstorm中安装vite插件,通过vite构建工具创建vue项目

目录 一.前端工程化 1.webpack (1)定义:是一个前端的构建工具。前端代码格式多(html、css、js、图片),前端构建工具的作用是将各种格式不同文件打包到一起,方便项目的上线运行。(将…