get请求:
用户输入搜索的内容,发送请求,将请求的内容保存起来。
get请求的本质是在地址栏中输入参数进行的一种请求方式。
解析参数使用urllib.parse
import urllib.parse
# 在百度搜索“中国”关键字,得到的得到的url如下:string= "https://www.baidu.com/s?ie=utf-8&word=中国&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"%varprint(string)
# 显示结果:# https://www.baidu.com/s?ie=utf-8&word=王家兴
第二种方式
# 将参数写成字典的格式data = { "ie":"utf-8", "word":"澳大利亚"}# urlencode()函数是专门对url进行操作的函数,并且把参数编码成为url类型的数据urldata = urllib.parse.urlencode(data)print(urldata)# 显示结果:# ie=utf-8&word=澳大利亚# 对url进行拼接urlall= "https://www.baidu.com/s?%s"%urldata# 显示结果:print(urlall)# https://www.baidu.com/s?ie=utf-8&word=澳大利亚
ajax的GET请求
请求头信息(浏览器请求头信息)
Request URL: https://movie.douban.com/top250?start=25&filter= Request Method: GET Status Code: 200 OK Remote Address: 154.8.131.165:443 Referrer Policy: unsafe-url 爬虫代码如下:import urllib.requestimport urllib.parseurl = "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+=dataprint(url)request =urllib.request.Request(url,headers = headers)response = urllib.request.urlopen(request)print(response.read().decode("utf8"))转载于:https://www.cnblogs.com/kuangkuangduangduang/p/10364556.html