get请求:

       用户输入搜索的内容,发送请求,将请求的内容保存起来。

       get请求的本质是在地址栏中输入参数进行的一种请求方式。

解析参数使用urllib.parse

import urllib.parse

# 在百度搜索“中国”关键字,得到的得到的url如下:
string= "https://www.baidu.com/s?ie=utf-8&word=%E4%B8%AD%E5%9B%BD&tn=98537121_hao_pg"

#unquote()反应用,解析参数,将二进制转成我们能看懂的中文形式

string = urllib.parse.unquote(string)

print(string)

# 显示结果:

https://www.baidu.com/s?ie=utf-8&word=中国&tn=98537121_hao_pg

第一种方式

country =input("请输入要检索的信息")
# 输入内容:王家兴

# 引用,即解析参数,将中文转换成为二进制形式
# 对指定的参数径解析
string = urllib.parse.quote(country)

# 将参数写成字典的格式
data = {
"ie":"utf-8",
"word":"%s"%string
}

# 拼接路由

lt = []

for ie,word in data.items():

lt.append(ie+"="+word)

# join()函数的作用是将将“&”作为分隔符对列表lt中的字符串进行拼接
var ="&".join(lt)

string= "https://www.baidu.com/s?%s"%var
print(string)

# 显示结果:
# https://www.baidu.com/s?ie=utf-8&word=%E7%8E%8B%E5%AE%B6%E5%85%B4

第二种方式

# 将参数写成字典的格式
data = {
"ie":"utf-8",
"word":"澳大利亚"
}
# urlencode()函数是专门对url进行操作的函数,并且把参数编码成为url类型的数据
urldata = urllib.parse.urlencode(data)

print(urldata)
# 显示结果:
# ie=utf-8&word=%E6%BE%B3%E5%A4%A7%E5%88%A9%E4%BA%9A

# 对url进行拼接
urlall= "https://www.baidu.com/s?%s"%urldata

# 显示结果:
print(urlall)
# https://www.baidu.com/s?ie=utf-8&word=%E6%BE%B3%E5%A4%A7%E5%88%A9%E4%BA%9A

ajax的GET请求

请求头信息(浏览器请求头信息)

  1. Request URL:
    https://movie.douban.com/top250?start=25&filter=
  2. Request Method:
    GET
  3. Status Code:
    200 OK
  4. Remote Address:
    154.8.131.165:443
  5. Referrer Policy:
    unsafe-url
爬虫代码如下:
import urllib.request
import urllib.parse
url = "https://movie.douban.com/top250?"
start = int(input("输入要查看到电影的页码:"))
data = {
"start": (start - 1) * 25,
"filter": "",
}
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"}
data = urllib.parse.urlencode(data)
url+=data
print(url)
request =urllib.request.Request(url,headers = headers)
response = urllib.request.urlopen(request)
print(response.read().decode("utf8"))

爬虫学习(三)——get请求参数解析的更多相关文章

  1. SpringBoot系列教程web篇之Get请求参数解析姿势汇总

    一般在开发web应用的时候,如果提供http接口,最常见的http请求方式为GET/POST,我们知道这两种请求方式的一个显著区别是GET请求的参数在url中,而post请求可以不在url中:那么一个 ...

  2. SpringBoot系列教程web篇之Post请求参数解析姿势汇总

    作为一个常年提供各种Http接口的后端而言,如何获取请求参数可以说是一项基本技能了,本篇为<190824-SpringBoot系列教程web篇之Get请求参数解析姿势汇总>之后的第二篇,对 ...

  3. SpringMVC请求参数解析

    请求参数解析 客户端请求在handlerMapping中找到对应handler后,将会继续执行DispatchServlet的doPatch()方法. 首先是找到handler对应的适配器. Hand ...

  4. Python3爬虫(三)请求库的使用之urllib

    Infi-chu: http://www.cnblogs.com/Infi-chu/ 一.urllib库: 1. 是Python内置的HTTP请求库 2. 在Python2中,由urllib和urll ...

  5. http.request请求及在node中post请求参数解析

    Post请求 var http=require('http'); var qs=require('querystring'); var post_data={a:123,time:new Date() ...

  6. springmvc 请求参数解析细节

    springmvc 的请求流程,相信大家已经很熟悉了,不熟悉的同学可以参考下资料! 有了整体流程的概念,是否对其中的实现细节就很清楚呢?我觉得不一定,比如:单是参数解析这块,就是个大学问呢? 首先,我 ...

  7. Java爬虫系列三:使用Jsoup解析HTML

    在上一篇随笔<Java爬虫系列二:使用HttpClient抓取页面HTML>中介绍了怎么使用HttpClient进行爬虫的第一步--抓取页面html,今天接着来看下爬虫的第二步--解析抓取 ...

  8. Python爬虫学习三------requests+BeautifulSoup爬取简单网页

    第一次第一次用MarkDown来写博客,先试试效果吧! 昨天2018俄罗斯世界杯拉开了大幕,作为一个伪球迷,当然也得为世界杯做出一点贡献啦. 于是今天就编写了一个爬虫程序将腾讯新闻下世界杯专题的相关新 ...

  9. python爬虫学习(三):使用re库爬取"淘宝商品",并把结果写进txt文件

    第二个例子是使用requests库+re库爬取淘宝搜索商品页面的商品信息 (1)分析网页源码 打开淘宝,输入关键字“python”,然后搜索,显示如下搜索结果 从url连接中可以得到搜索商品的关键字是 ...

随机推荐

  1. Java中只有按值传递,没有按引用传递!(两种参数情况下都是值传递)

    今天,我在一本面试书上看到了关于java的一个参数传递的问题: 写道 java中对象作为参数传递给一个方法,到底是值传递,还是引用传递? 我毫无疑问的回答:“引用传递!”,并且还觉得自己对java的这 ...

  2. 036 Valid Sudoku 有效的数独

    详见:https://leetcode.com/problems/valid-sudoku/description/ class Solution { public: bool isValidSudo ...

  3. 031 Next Permutation 下一个排列

    实现获取下一个排列函数,这个算法需要将数字重新排列成字典序中数字更大的排列.如果不存在更大的排列,则重新将数字排列成最小的排列(即升序排列).修改必须是原地的,不开辟额外的内存空间.这是一些例子,输入 ...

  4. Storm概念学习系列 之数据流模型、Storm数据流模型

    不多说,直接上干货! 数据流模型 数据流模型是由数据流.数据处理任务.数据节点.数据处理任务实例等构成的一种数据模型.本节将介绍的数据流模型如图1所示. 分布式流处理系统由多个数据处理节点(node) ...

  5. docker~aspnetcore2.0镜像安装软件的加速器

    一般对于安装软件加速时,我们大多数会选择阿里云,而对于aspnetcore2.0这个进项来说,由于使用的是Debian操作系统,所有我们要找到它对应的mirror列表,下面是我整理的一个sources ...

  6. vim配置成c++IDE

    mv ~/.vimrc ~/.vimrcbak mv ~/.vim ~/.vimbak git clone https://github.com/handy1989/vim.git mv vim/.v ...

  7. ZK请求处理

    1. 事务请求转发-事务必须由Leader处理 所有非Leader的服务器收到来自客户端的事务请求,都会将客户端请求已REQUEST形式转发给Leader服务器进行处理 2. 事务处理 Proposa ...

  8. linux系统redis配置环境变量

    1.测试:在任何位置登录redis redis-cli 指定服务器ip(不指定时,默认本机) redis-cli -h 127.0.0.1 指定端口(不指定时,默认6379) redis-cli -h ...

  9. JQury各种ajax函数

    $.get(url,[data],[callback],[type]) 说明:以get方式发送请求,url为请求地址,data为请求数据的列表,callback为请求成功后的回调函数,该函数接受两个参 ...

  10. (转载)ASP.NET Quiz Answers: Does Page.Cache leak memory?

    原文地址:http://blogs.msdn.com/b/tess/archive/2006/08/11/695268.aspx "We use Page.Cache to store te ...