爬虫【3】URL地址编码

使用系统默认浏览器打开http网址 本工程用于展示使用java如何实现这样的功能:使用系统默认浏览器打开http网址;使用用户指定的浏览器打开http网址。 本工程编码方式为:GBK 出现异常即解决方法: 当调用Tool类中的第二个方法时,指定的browerType的值为“chrome”,运行程序出现:java.io.IOException: Cannot run program "chrome": CreateProcess error=2, ????????? 解决方法:找到谷歌浏览器安装根目录Google,然后依次打开Chrome和Application文件夹,看一下里面是否有“chrome.exe”文件,确定有该文件以后,复制该文件的路径(路径中不包含该文件的文件名,例如“C:\Program Files\Google\Chrome\Application”),然后将其值添加到计算机PATH环境变量中,最后重启计算机即可。注意:添加时别忘了分号。 立即下载

爬虫【3】URL地址编码

爬虫回顾:

为什么要进行编码?

在百度中搜索:b站你可以看到上方的url是这样的
在这里插入图片描述
可以看到bai.com/s?之后还有很多以&相连的东西,大部分是我们用不到打,但是可以看到一个wd=b站
把其他的东西删去只留下https://www.baidu.com/s?wd=b站还是可以正常访问的。但是如果你去复制的话得到的是https://www.baidu.com/s?wd=b%E7%AB%99可以知道url是不支持中文的会对其进行编码,你在网页可以看到只是因为浏览器给你解码了。

当我们需要获取百度搜索的b站的内容时就需要对我们的url也进行编码了

URL地址编码模块

模块名及导入

  • 模块
# 模块名
urllib.parse

# 导入
import urllib.parse
from urllib import parse
  • 作用
    给URL地址中查询参数进行编码
编码前:https://www.baidu.com/s?wd=美女
编码后:https://www.baidu.com/s?wd=%E7%BE%8E%E5%A5%B3

常用方法

urllib.parse.urlencode({dict})
  • URL地址中一个查询参数
# 查询参数:{'wd' : '美女'}
# urlencode编码后:'wd=%e7%be%8e%e5%a5%b3'

# 示例代码
query_string = {'wd' : '美女'}
result = urllib.parse.urlencode(query_string)
# result: 'wd=%e7%be%8e%e5%a5%b3'
  • URL地址中多个查询参数
from urllib import parse
params = {
	'wd' : '美女',
	'pn' : '50'
}
params = parse.urlencode(query_string_dict)
url = 'http://www.baidu.com/s?{}'.format(params)
print(url)
  • 拼接URL地址的3种方式
# 1、字符串相加
  baseurl = 'http://www.baidu.com/s?'
  params = 'wd=%E7XXXX&pn=20'
  url = baseurl + params

# 2、字符串格式化(占位符)
  params = 'wd=%E7XXXX&pn=20'
  url = 'http://www.baidu.com/s?%s'% params

# 3、format()方法
  url = 'http://www.baidu.com/s?{}'
  params = 'wd=#E7XXXX&pn=20'
  url = url.format(params)
  • 练习
    在360中输入要搜索的内容,把响应内容保存到本地文件
    这年头,百度搜索和bing搜索这种简单的小爬虫都用不了了,无奈欺负欺负360搜索吧
from urllib import parse
from urllib import request


def get_url(word):
    baseurl = 'https://www.so.com/s?'
    parses = {'q': word}
    parses = parse.urlencode(parses)
    url = baseurl + parses
    return url


def write_html(url, word):
    print(url)
    headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko'}
    req = request.Request(url, headers=headers)
    res = request.urlopen(req)
    html = res.read().decode('utf-8')
    filepath = word + '.html'
    with open(filepath, 'w',encoding='utf-8') as f:
        f.write(html)


if __name__ == '__main__':
    word = input('请输入你想搜索的内容: ')
    url = get_url(word)
    write_html(url,word)
w.url.cn短网址生成接口 php 短网址生成批量生成接口的,w.url.cn 微信 立即下载

相关推荐

树莓派与OpenCV实现人脸识别(OpenCV安装篇)

主要看了以下两位博客的文章完成的,也遇到了不少的坑,在这里一一填补说明。 链接: https://blog.youkuaiyun.com/weixin_42163073/article/details/107308759. 链接: https://blog.youkuaiyun.com/weixin_42573595/article/details/108526850. 树莓派与OpenCV实现人脸识别(OpenCV安装篇)一、材料准备:二、系统烧录三、安装OpenCV依赖项四、下载OpenCV-4.3.0五、为OpenCV配置P

weixin_45880057的博客 1万+

域名介绍,url的介绍+原理+特殊字符的处理,网络行为,http协议请求/响应的格式+结构,状态码介绍,临时/永久重定向,http报头常见字段(长/短连接介绍,location),fiddler

域名介绍,url的介绍+原理+特殊字符的处理,网络行为,http协议请求/响应的格式+结构,状态码介绍,临时/永久重定向,长/短连接介绍,http报头常见字段(content-type,cookie,referer,location,connection),fiddler

m0_74206992的博客 1251

告别Nginx原始日志!VictoriaLogs+Grafana构建企业级应用日志分析平台实战

描述:做为一个合格的运维工程师,在面对企业安全运维管理中,日志审计是一项非常重要的工作。授人以鱼不如授人以渔,各位运友们可参照作者的方案设计,在自己的项目中根据实际情况调整落地,例如,不在仅仅采集 NGINX 应用日志,而是采集 Apache、Tomcat、SpringBoot 等多种应用服务器的日志,又如,不再仅仅采集网络设备、安全审计审计日志,而是 Windows、Linux 等多种操作系统的审计日志等,大家可充分发挥想象、实践能力,也欢迎大家在知识星球中分享自己的方案设计,一起交流学习。

全栈工程师修炼指南-IT知识分享 2479

借用别人的梯子,快递搭建后台内容管理系统

文章目录一、项目简介二、开发环境搭建2.1技术栈2.2部署三、导入 excel 功能四、FAQ3.1 项目集成`Mybatis` 是否可以不指定 `type-aliases-package`属性?3.2 @RestController 和@Controller的区别?3.3 controller 如何注入`service`?五、最后参考文章 一、项目简介 上一篇文章手撸的一个快递查询系统,竟然阅...

不安分的猿人的专栏 1130

昇腾AI处理器Ascend C编程:从C/C++基础到高性能算子开发实战

异构计算是提升AI算力效率的核心技术,通过在CPU之外引入专用处理器(如GPU、NPU)协同工作,实现大规模并行计算。其原理在于将计算密集型任务卸载到专用硬件,利用其高并行架构加速处理。技术价值在于突破传统CPU的算力瓶颈,为深度学习训练与推理提供强大动力,广泛应用于模型部署、科学计算和高性能计算场景。本文聚焦昇腾AI处理器的原生编程语言Ascend C,它基于C/C++标准扩展,通过显式内存管理和任务并行模型,充分发挥达芬奇架构中Cube与Vector单元的性能。针对CANN算子开发,文章详解了从环境搭建

weixin_34411563的博客 368

内存管理(二)——内存分段

内存分段

weixin_43844995的博客 2693

URL链接

URL和URI URL和URLConnection类封装了大量复杂的实现细节,这些细节涉及如何从远程站点获取信息。例如,可以通过传递字符串来构建一个URL对象 : URL url = new URL(String); 如果只是想获得该资源的内容,可以使用URL类中的openStream方法。该方法返回一个InputStream对象,然后就可以按照一般的用法来使用这个对象了,比如用它构建一个S

小魏的博客 1962

Hand-Eye 标定误差分析:从理论到 C++ 实现

本文深入探讨了机器人手眼标定中的核心环节——误差分析。文章从AX=XB方程的理论残差出发,详细解析了旋转与平移误差的数学定义与物理意义,并提供了一个工业级的C++实现代码,用于计算重投影误差。通过误差分析,工程师可以量化标定精度,诊断问题根源,从而确保视觉引导机器人系统在实际应用中的可靠性与精确性。

c7d8e的博客 697

使用了梯子,还在pip.config中换源的。需要将换成国内源的给清楚掉。

使用pip install始终有网络下载的一些问题,发现使用的梯子翻到国内的源进行的下载

m0_68790645的博客 362

QT使用openssl实现RSA加解密

使用openssl生成公私钥,随后用QT对相应的信息进行RSA加解密

weixin_42098322的博客 3867

【超详细】数据分析笔试题分享,可以收藏后仔细阅读_数据分析岗位笔试题目

这种做法是最精确的做法,保留了所有的信息,也未添加任何额外信息,若预处理时把所有的变量都这样处理,会大大增加数据的维度。15、在某座城市出现了某种流行病,且已知某座城市男女人数相同,男性患该病的概率为5%,女性为0.25%,现已知该城市的小明得了此病,请问小明为男性的概率是() B。D项,使用方差作为特征评分标准,如果某个特征的取值差异不大,通常认为该特征对区分样本的贡献度不大,因此在构造特征过程中去掉方差小于阈值的特征。LTV,用户生命周期价值,是产品从用户获取到流失所得到的全部收益的总和。

2401_89824744的博客 950

爬梯:SpringCloud

学习资料整理自[B站狂神说]https://www.bilibili.com/video/BV1jJ411S7xr?p=6 搭建SpringCloud项目 微服务前言 什么是微服务 微服务架构是一种架构模式、一种架构风格,它提倡将单一的应用程序划分成一组细小的服务,每个服务运行在其独自的进程中,服务之间相互协调,相互配置,为用户提供最终价值。服务之间采用轻量级的通信机制相互沟通,每个服务都围绕着具体的业务进行构建,并且能够被单独的部署到生产环境中,另外,应尽量避免统一的集中式的服务管理机制,对具体的.

石似心的博客 5808

ChangeMamba训练调试

此仓库的代码是在 Linux 系统下运行的。我们尚未测试是否能在其他操作系统下运行。 首先需要安装VMama仓库。以下安装顺序取自VMama仓库。克隆该版本库并导航至项目目录: 建议设置 conda 环境并通过 pip 安装依赖项。使用以下命令设置环境: 创建并激活新的 conda 环境 安装依赖项 检测和分割任务的依赖库(在 VMamba 中为可选项) 二、下载预训练权重 另外,请下载VMamba-Tiny, VMamba-Small, and VMamba-Base在ImageNet上的预训练权重并把它

hanfeng5268的博客 577

爬虫Spider 01 - 网络爬虫概述 | 爬虫请求模块 | URL地址编码模块 | 正则解析模块

文章目录网络爬虫概述定义爬取数据目的企业获取数据方式Python做爬虫优势爬虫分类爬虫爬取数据步骤爬虫请求模块一模块名及导入常用方法详解urllib.request.urlopenurllib.request.RequestURL地址编码模块模块名及导入常用方法urllib.parse.urlencode({dict})quote(string)编码unquote(string)解码总结百度贴吧数...

哦 卷! 675

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

python网络爬虫入门之URL编码模块

URL地址编码模块 为什么要给地址 编码 我们在浏览器里面输入查询参数时浏览器会自动给我们进行编码,当我们用爬虫程序进行获取内容时浏览器识别不了我们所输入的内容,所以就要编码 作用 给URL地址中查询参数进行编码 编码前:https://www.baidu.com/s?wd=美女 编码后:https://www.baidu.com/s?wd=%E7%BE%8E%E5%A5%B3 比如我们在浏览...

XiaoSaShuiXing的博客 472

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

python爬虫总纲:步入爬虫殿堂

网络爬虫概述 定义 网络蜘蛛、网络机器人,抓取网络数据的程序。 其实就是用Python程序模仿人点击浏览器并访问网站,而且模仿的越逼真越好。 爬取数据目的 1、获取大量数据,用来做数据分析 2、公司项目的测试数据,公司业务所需数据 企业获取数据方式 1、公司自有数据 2、第三方数据平台购买(数据堂、贵阳大数据交易所) 3、爬虫爬取数据 : 第三方平台上没有,或者价格太高 Python做爬虫优势...

漫漫前端路,进一寸有进一寸的欢喜 4738

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

爬虫——urllib爬虫模块

  网络爬虫也称为网络蜘蛛、网络机器人,抓取网络的数据。其实就是用Python程序模仿人点击浏览器并访问网站,而且模仿的越逼真越好。一般爬取数据的目的主要是用来做数据分析,或者公司项目做数据测试,公司业务所需数据。而数据来源可以来自于公司内部数据,第三方平台购买的数据,还可以通过网络爬虫爬取数据。python在网络爬虫方向上有着成熟的请求、解析模块,以及强大的Scrapy网络爬虫框架。 ...

凌逆战的博客 374

很全面的Python爬虫知识点总结(上)

1、定义网络蜘蛛、网络机器人,抓取网络数据的程序。其实就是用Python程序模仿人点击浏览器并访问网站,而且模仿的越逼真越好。2、爬取数据目的获取大量数据,用来做数据分析公司项目的测试数据,公司业务所需数据3、企业获取数据方式公司自有数据第三方数据平台购买爬虫爬取数据 : 第三方平台上没有,或者价格太高4、Python做爬虫优势Python :请求模块、解析模块丰富成熟,强大的Scrapy网络爬虫框架PHP :对多线程、异步支持不太好JAVA:代码笨重,代码量大。

大模型研究中心 1056

python爬虫之网络爬虫概述/请求模块/正则解析

文章目录网络爬虫概述定义爬取数据目的企业获取数据方式Python做爬虫优势爬虫分类爬虫爬取数据步骤爬虫请求模块一模块名及导入常用方法详解urllib.request.urlopenurllib.request.RequestURL地址编码模块模块名及导入常用方法urllib.parse.urlencode({dict})quote(string)编码unquote(string)解码总结百度贴吧数...

奋斗的小鸟 402

Spider爬虫(一)

网络爬虫概述 定义 网络蜘蛛、网络机器人,抓取网络数据的程序 其实就是用Python程序模仿人点击浏览器并访问网站,而且模仿的越像越好,让Web站点无法发现你不是人 爬取数据目的 1、公司项目测试数据 2、公司业务部门及其他部门所需数据 3、数据分析 企业获取数据方式 1、公司自有数据 2、第三方数据平台购买(数据堂、贵阳大数据交易所) 3、爬虫爬取数据 Pyth...

海是倒过来的天的博客 413

urllib爬虫模块

  网络爬虫也称为网络蜘蛛、网络机器人,抓取网络的数据。其实就是用Python程序模仿人点击浏览器并访问网站,而且模仿的越逼真越好。一般爬取数据的目的主要是用来做数据分析,或者公司项目做数据测试,公司业务所需数据。而数据来源可以来自于公司内部数据,第三方平台购买的数据,还可以通过网络爬虫爬取数据。python在网络爬虫方向上有着成熟的请求、解析模块,以及强大的Scrapy网络爬虫框架。 ...

凌逆战的博客 362

【Python-爬虫】

Python-爬虫■ Python-爬虫 ■ Python-爬虫

sinat_23896491的博客 1433

爬虫基本知识,如何发起请求,进行分析

爬虫基础知识 爬虫一个实战性很强的内容,下面是一些知识点,方便日后复习,具体还要去案例看看,随机应变。这是我的github爬虫仓库,欢迎大家clone进行学习和体验。 一. 网络爬虫概述 定义 网络蜘蛛(spider)、网络机器人(robot),抓取网络数据的程序 其实就是用Python程序模仿人点击浏览器并访问网站,而且模仿的越像越好,让Web站点无法发现你不是人 爬取数据的目的 1、公司项目测试数据 2、公司业务部门及其他部门所需数据 3、数据分析 企业获取数据方式 1、公司自有数据 2、第三方

冰山一树Sankey的博客 1863

python爬虫小说代码,可用的

python爬虫小说代码,可用的,以笔趣阁为例子,python3.6以上,可用 作者的QQ:342290433,汉唐自远工程师 import requests import refrom lxml import etree url = "https://www.biquga.com/33_33132/16700250.html" def get_content(url): nodes...

weixin_30315723的博客 906
上一篇: 爬虫【2】重构UserAgent
下一篇: 爬虫【4】爬取百度贴吧并生成静态页面
AndSonder
博客等级 码龄7年 364粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值