项目十三:搜狗——python爬虫实战案例

根据文章项目十二:简单的python基础爬虫训练-CSDN博客的简单应用,这一次来升级我们的技术,那么继续往下看,希望对技术有好运。

还是老样子,按流程走,一条龙服务,嘿嘿。

第一步:导入需要的库——requests库

import requests

第二步:指定网址首页,看你个人选择,这里用搜狗,网址为搜狗搜索引擎 - 上网从搜狗开始

url = 'https://www.sogou.com/'

第三步:发送get请求信息

response = requests.get(url = url)

第四步:输出响应信息

print(req.text)

完整代码如下

import requests # 导入requests模块
url = 'https://www.sogou.com' # 要爬取的网址
req = requests.get(url) # 发起请求
print(req.text) # 输出响应信息

第五步

输出结果

ok,就当给未来的自已上一道保险杠,免得自已不知道写的啥。🎁🎁🎁🎁

嗯,这一次我们要爬取搜狗指定词条所对应的搜索结果,还是老样子,继续往下走

第一步:处理url携带的参数,封装到字典

kw = input('enter a word:')
param = {'query':kw
}

参考来源(图中第三步可以不用,看个人需要)

第二步:伪装请求头,模拟用户行为,封装到字典

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36'
}

注意这个请求头都是在浏览器标头中复制找到即可,但是有时候会发生变化,需要实际运用。如图

第三步:发送请求

response = requests.get(url = url, params = param, headers = headers)

第四步:输出信息

page_text = response.text
print(len(page_text))

完整代码如下

import requests 
url = 'https://www.sogou.com/web'
kw = input('enter a word:') #输入搜索词
param = {'query':kw #搜索词
}
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36'
}
response = requests.get(url = url, params = param, headers = headers)
page_text = response.text
print(len(page_text))

输出结果

第五步:存储信息

代码如下

fileName = 'kw' + '.html'
with open(fileName, 'w', encoding='utf-8') as fp:fp.write(page_text)

跟上一篇文章代码操作一样,自行体会,嘿嘿

好了,简单的案例我们能够简单应用,后续会不定时分享小小心得,期待有好运到来🎁💖

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

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

相关文章

华为诺亚等发布MagicDrive3D:自动驾驶街景中任意视图渲染的可控3D生成

文章链接:https://arxiv.org/pdf/2405.14475 项目链接:https://flymin.github.io/magicdrive3d 虽然可控生成模型在图像和视频方面取得了显著成功,但在自动驾驶等无限场景中,高质量的3D场景生成模型仍然发展不足,主…

Neo4J中构建的知识图谱,如何使用推理算法

在Neo4j中构建的知识图谱中,推理算法的使用可以极大地增强数据分析和洞察能力。Neo4j提供了多种推理和查询工具,主要通过Cypher查询语言和内置的图算法库来实现。以下是几种常见的推理算法和使用场景: 1. 规则推理(Rule-based Re…

2951. 找出峰值 Easy

给你一个下标从 0 开始的数组 mountain 。你的任务是找出数组 mountain 中的所有 峰值。 以数组形式返回给定数组中 峰值 的下标,顺序不限 。 注意: 峰值 是指一个严格大于其相邻元素的元素。 数组的第一个和最后一个元素 不 是峰值。 示例 1&#xf…

关于宏的理解

关于宏的理解, 用宏函数举例 宏会把我们的内容编程一段代码,但是我们宏用的一切都不是变量,就是一个构建代码的符号。 比如下面的例子 char str1[] "1234"; const char* str2 "1234"; char st3[5] { 1,2,3,4,\0 };…

Linux网络编程:应用层协议|HTTP

前言: 我们知道OSI模型上层分为应用层、会话层和表示层,我们接下来要讲的是主流的应用层协议HTTP,为什么需要这个协议呢,因为在应用层由于操作系统的不同、开发人员使用的语言类型不同,当我们在传输结构化数据时&…

【全开源】宇鹿家政系统(FastAdmin+ThinkPHP+原生微信小程序)

:助力家政行业数字化升级 一、引言:家政服务的新篇章 随着移动互联网的普及和人们生活水平的提高,家政服务的需求日益增长。为了满足这一市场需求,并推动家政行业的数字化升级,我们特别推出了家政小程序系统源码。这…

excel 点击单元格的内容 跳转到其他sheet设置

如图点击1处跳转到2 按照如下图步骤操作即可

oracle 分区表常用语句(2)

给分区表增加分区 第一种不存在MAXVALUE(直接添加即可) ALTER TABLE T6 ADD PARTITION P5 VALUES LESS THAN(TO_DATE( 2018-08-01 00:00:00, SYYYY-MM-DD HH24:MI:SS, NLS_CALENDARGREGORIAN));第二种存在MAXVALUE alter table T6 split PARTITION P4 at(TO_DAT…

电机控制系列模块解析(25)—— 过压抑制与欠压抑制

一、概念解析 变频器作为一种重要的电机驱动装置,其内置的保护功能对于确保系统安全、稳定运行至关重要。以下是关于变频器过压抑制、欠压抑制(晃电抑制)、发电功率限制、电动功率限制等保护功能的详细说明: 过压抑制 过压抑制是…

Android Audio基础——缓冲区大小获取(十三)

前面使用 AudioTrack 播放音频数据,在创建 AudioTrack 时其中有一个是缓冲区大小的参数,通过 AudioTrack.getMinBufferSize() 获取最小缓冲区。这一节我们就来分析下缓冲区大小参数的作用。 一、最小缓冲区 最小缓冲区是声音能正常播放的最低保障。如果数据缓冲区分配得过小…

C语言期末习题之二维数组转置

1.题目 写一个函数,使得给定的44的二维数组x[4][4]转置,即进行列互换。 2.思路 这个题可以使用两层循环来遍历给定的二维数组,然后将每一列的元素与对应行的元素进行交换,从而实现转置操作。具体思路如下: 1. 使用两层…

c++【入门】你多大了

时间限制 : 1 秒 内存限制 : 128 MB 一天玩仔跑来问周周你多大了,周周告诉他自己 1010 岁了,玩仔又说自己也是,你听到了这个对话,想用程序显示出两个人的对话内容,现在就来试一试吧。 输入 无 输出 输出三行&…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 5月29日,星期三

每天一分钟,知晓天下事! 2024年5月29日 星期三 农历四月廿二 1、 首个未成年人游戏退费标准发布:监护人与网游服务提供者将按错担责。 2、 六部门联合印发通知:鼓励加快高清超高清电视机等普及、更新。 3、 神舟十八号航天员乘…

【图像识别的革命:卷积神经网络(CNN)的原理与应用】

文章目录 前言卷积神经网络的基础构建一个简单的CNN模型分析代码结论 前言 在深度学习的众多成就中,卷积神经网络(CNN)在图像识别领域的突破尤为显著。CNN通过其独特的结构和算法,能够自动从图像中提取特征,极大地提高…

AI播客下载:Acquired podcast每个公司都有一个故事

"Acquired Podcast" 是一档专注于深度解析科技行业和企业发展历程的播客节目,由Ben Gilbert和David Rosenthal主持。其口号是:Every company has a story.《Acquired》每一集都围绕一个特定的主题或公司进行讨论。它以独特的视角和深入的分析&…

vue组件通讯vuex状态管理例子

Vuex 是 Vue.js 的状态管理模式和库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。以下是一个简单的 Vuex 状态管理例子,展示如何在 Vue 组件中使用 Vuex 进行通讯。 首先,我们需要安装并…

Rohm公司参展欧洲PCI盛会

​德国历史悠久的文化名城纽伦堡,即将迎来一场科技盛宴——欧洲PCI展览会。在这个为期三天的盛会中(6月11日至13日),Rohm公司将以璀璨之姿,特别聚焦宽带隙(WBG)设备的璀璨光芒。 此次&#xff0…

气密检测中泄漏率的质量流量与体积流量的转换

对于R-134a等制冷剂,泄漏率通常表示为质量流量(每年的逸出质量)而不是体积流量(特定时间段内给定压力下的逸出质量)。因此,通过制冷剂的年泄漏量来定义泄漏级别,常用的单位为g/a。以某款车型为例…

嵌入式linux系统中NFS文件系统挂载详细实现

大家好,今天主要给大家分享一下,如何利用linux系统实现NFS文件系统挂载的方式与实现。 第一:linux-NFS挂载的目的 1、掌握 Ubuntu 系统 NFS 文件共享服务的安装及配置 2. 掌握嵌入式 Linux 系统通过 NFS 共享服务和 X86 宿主机进行数据共享,文件共享的方法。 …

多线程-线程池

为什么要使用线程池 在Java中使用线程池的主要原因有以下几点: 提高性能:使用线程池可以减少线程的创建和销毁过程的开销。线程的创建和销毁是比较昂贵的操作,如果每次需要执行任务时都创建一个新线程,会造成系统资源的浪费。而线…