首页 > 其他分享 >爬虫的urllib使用

爬虫的urllib使用

时间:2024-01-18 10:37:55浏览次数:23  
标签:url request 爬虫 urllib 使用 print data response

1. 基础使用

import urllib.request
response = urllib.request.urlopen(url)
print(response.read().decode('utf-8'))
print(type(response))
print(response.status)
print(response.getheaders())
  • HTTPResponse类型方法:

read方法是按照字节读取
response.readlines方法按照行读取
response.geturl方法获取url地址
response.getheaders方法获取状态信息

  • 请求头定制
url = 'https://www.baidu.com/'
headers = {'User-Agent':''}
request =urllib.request.Request(url, headers=headers)
response = urllib.request.urlopen(request)
print(response.read().decode('utf-8'))
print(response.status)

2. 编解码三种方法
import urllib.parse
// 将中文转化为unicode编码
// 单个参数

  • urllib.parse.quote方法

// 多个参数

  • urllib.parse.urlencode方法
data = {
    'wd': '周杰伦',
    'sex': '男'
}
a = urllib.parse.urlencode(data)
base_url = 'https://www.baidu.com/s?'
url = base_url+a
print(url)
  • post方法
url = 'https://fanyi.baidu.com/sug'
data = {
     'kw':'spider'
 }
# post请求的参数,必须进行编码,还要调用encode方法
data = urllib.parse.urlencode(data).encode('utf-8')
# post请求的参数要放在请求头定制里面
request = urllib.request.Request(url,data,headers)

标签:url,request,爬虫,urllib,使用,print,data,response
From: https://www.cnblogs.com/hellojacker/p/17964921

相关文章

  • Redis系列:使用 Redis Module 扩展功能
    ★Redis24篇集合1啥是RedisModuleRedisModule是Redis的一种扩展模块,从4.0版本开始,允许用户自定义扩展模块,在Redis内部实现新的数据类型和功能,使用统一的调用方式和传输协议格式扩展Redis的能力。它本身的设计目的就是在不同版本的Redis中运行,因此无需重新编译模块即可与特......
  • 使用pyinstaller打包python程序时报错UPX is not available
    使用pyinstaller打包python代码程序时报错:UPXisnotavailable原因是 python环境的Scripts文件夹内缺少了一个upx.exe的文件到官网https://github.com/upx/upx/releases/tag/v4.2.2中下载一个UPX,将下载文件解压后得到的upx.exe文件(解压后的所有文件里只要这一个文件即可,......
  • 什么?你居然没有鸭鸭邮箱?@duck.com邮箱注册与使用
    @duck.com是由专注于隐私的搜索引擎DuckDuckGo提供的面向所有人的匿名邮箱。注册者可以设置一个自定义前缀,比如[email protected],接着设置接收邮箱(如[email protected]),之后所有的发向[email protected]的邮件都会转发到[email protected]。也就是说[email protected]起到中间转发者的作用,同时@d......
  • C# 中,可以使用 System.Net.Sockets 命名空间中的 UdpClient 类来发送和接收 UDP 数据
    C#中,可以使用System.Net.Sockets命名空间中的UdpClient类来发送和接收UDP数据报文。以下是一个简单的C#示例,演示如何使用UDP发送和接收数据:点击查看代码usingSystem;usingSystem.Net;usingSystem.Net.Sockets;classProgram{staticvoidMain(){......
  • 使用SPIN技术对LLM进行自我博弈微调训练
    2024年是大型语言模型(llm)的快速发展的一年,对于大语言模型的训练一个重要的方法是对齐方法,它包括使用人类样本的监督微调(SFT)和依赖人类偏好的人类反馈强化学习(RLHF)。这些方法在llm中发挥了至关重要的作用,但是对齐方法对人工注释数据有的大量需求。这一挑战使得微调成为一个充......
  • 如何配置让pyenv使用代理(Windows)
    根据官方文档,只需要在系统的环境变量中设置http_proxy和https_proxy.Question:HowdoIconfiguremycompanyproxyinpyenvforwindows?Answer:Setthehttp_proxyorhttps_proxyenvironmentvariablewiththehostnameorIPaddressoftheproxyserverinURLfor......
  • 使用 Docker 安装 MongoDB 数据库
    byemanjusakafromhttps://www.emanjusaka.top/2024/01/docker-create-mongo-db彼岸花开可奈何本文欢迎分享与聚合,全文转载请留下原文地址。Docker安装命令dockerrun-d--namemongo--restart=always--privileged=true-p27017:27017-v/opt/doc/data:/data/dbmo......
  • sqlmap使用教程
    sqlmap使用教程目录sqlmap使用教程1、介绍2、常用参数3、tamper脚本4、使用示例基础使用进阶使用直接使用5、案例演示案例一:使用Sqlmap获取DVWA数据案例二:利用unmagicquotes脚本绕过magicquotes1、介绍SQLMAP是一个开放源码的渗透测试工具,它可以自动探测和利用SQL注入漏洞来接......
  • (6)Powershell中命令自动补全功能及使用Windows命令
    (6)Powershell中命令自动补全功能及使用Windows命令上一节主要介绍了Powershell中常见的别名,以及怎么通过别名查看真实的Powershell命令,Powershell别名的命名规范以及如何新建自己的别名(Powershell内置别名不可更改)以及Powershell中兼容性别名,详细内容怼介里。在本节主要包含......
  • Sa-Token介绍与SpringBoot环境下使用
    个人博客:无奈何杨(wnhyang)个人语雀:wnhyang共享语雀:在线知识共享Github:wnhyang-Overview官网:Sa-Token一个轻量级Java权限认证框架,让鉴权变得简单、优雅!介绍Sa-Token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话......