【酱浦菌-爬虫项目】四种方法爬取百度首页信息

2024-04-30 17:44

本文主要是介绍【酱浦菌-爬虫项目】四种方法爬取百度首页信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目原理:

  1. 首先,定义了四个函数,每个函数都有不同的功能:

    • func1():发送一个GET请求到百度网站,并获取响应内容,演示如何使用`requests`库来获取网页内容。

    • func2():发送一个GET请求到百度网站,并获取响应内容。然后将响应内容保存为名为“baidu.png”的图片文件。

    • func3():使用Splash执行Lua脚本,加载百度网站并等待2秒,然后返回HTML内容。演示如何使用Splash来渲染JavaScript并获取渲染后的网页内容。

    • func4():使用Splash执行Lua脚本,加载百度网站,输入搜索关键词“SXT”,点击搜索按钮,等待2秒,然后返回HTML内容。演示如何使用Splash来模拟用户在网页上的交互操作。

  2. 每个函数的具体步骤如下:

    • 构建请求URL,包含了百度网站的地址。

    • 设置HTTP请求的头部信息,模拟了一个Chrome浏览器的请求。

    • 发送GET请求到指定的URL,获取响应内容。

    • 对于func2func4,将响应内容保存为图片文件。

    • 打印响应内容或其他信息。

  3. 最后,通过调用这四个函数,可以实现不同的操作,例如获取网页内容、下载图片等。

完整代码: 

import requests#三个接口
def func1():url = 'https://www.baidu.com/'base_url = f'http://localhost:8050/render.html?url={url}&wait=1'resp = requests.get(base_url)print(resp.text)def func2():url = 'https://www.baidu.com/'base_url = f'http://localhost:8050/render.html?url={url}&wait=1'resp = requests.get(base_url)with open("img\\" + "baidu" +'.png', 'wb') as f:f.write(resp.content)print(resp.text)def func3():url = 'https://www.baidu.com/'lua = f'''function main(splash, args)splash:go(""{url})splash:wait(2)return splash:html()'''base_url = f'http://localhost:8050/execute?lua_source={lua}'resp = requests.get(base_url)with open("img\\" + "baidu" +'.png', 'wb') as f:f.write(resp.content)print(resp.text)def func4():url = 'https://www.baidu.com/'lua = f'''function main(splash, args)splash:go("{url}")input = splash:select("#kw")input:send_text("SXT")button = splash:select('#su)button:mouse_click()splash:wait(2)return splash:html()'''base_url = f'http://localhost:8050/execute?lua_source={lua}'resp = requests.get(base_url)with open("img\\" + "baidu" +'.png', 'wb') as f:f.write(resp.content)print(resp.text)if __name__ == '__main__':func1()func2()func3()func4()

这篇关于【酱浦菌-爬虫项目】四种方法爬取百度首页信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/949503

相关文章

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

浅谈主机加固,六种有效的主机加固方法

在数字化时代,数据的价值不言而喻,但随之而来的安全威胁也日益严峻。从勒索病毒到内部泄露,企业的数据安全面临着前所未有的挑战。为了应对这些挑战,一种全新的主机加固解决方案应运而生。 MCK主机加固解决方案,采用先进的安全容器中间件技术,构建起一套内核级的纵深立体防护体系。这一体系突破了传统安全防护的局限,即使在管理员权限被恶意利用的情况下,也能确保服务器的安全稳定运行。 普适主机加固措施:

webm怎么转换成mp4?这几种方法超多人在用!

webm怎么转换成mp4?WebM作为一种新兴的视频编码格式,近年来逐渐进入大众视野,其背后承载着诸多优势,但同时也伴随着不容忽视的局限性,首要挑战在于其兼容性边界,尽管WebM已广泛适应于众多网站与软件平台,但在特定应用环境或老旧设备上,其兼容难题依旧凸显,为用户体验带来不便,再者,WebM格式的非普适性也体现在编辑流程上,由于它并非行业内的通用标准,编辑过程中可能会遭遇格式不兼容的障碍,导致操

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

【北交大信息所AI-Max2】使用方法

BJTU信息所集群AI_MAX2使用方法 使用的前提是预约到相应的算力卡,拥有登录权限的账号密码,一般为导师组共用一个。 有浏览器、ssh工具就可以。 1.新建集群Terminal 浏览器登陆10.126.62.75 (如果是1集群把75改成66) 交互式开发 执行器选Terminal 密码随便设一个(需记住) 工作空间:私有数据、全部文件 加速器选GeForce_RTX_2080_Ti