|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
原代码:
import urllib.request
import urllib.parse
import string
def get_method_params():
url = "https://www.baidu.com/s?tn=88093251_17_hao_pg&ie=utf-8&sc=UWY3rj04n1cdnNtkPdqCmyqxTAThIjYkPHmkPWbvnjn3PHb3FhnqpA7EnHc1Fh7W5HndPWfsnjbsPj0&ssl_sample=s_88&srcqid=3243340699557307542&H123Tmp=nunew7&word="
#拼接字符串(汉字)
#python可以接受的数据
#
name ="美女"
final_url = url + name
print(final_url)
#代码发送了请求
#网址里面包含了汉字,ascii是没有汉字的,需要url转译
#将包含汉字的网址进行转译
encode_new_url = urllib.parse.quote(final_url,safe = string.printable)
print(encode_new_url)
#使用代码发送网络请求
response = urllib.request.urlopen(encode_new_url)
print(response)
data = response.read().decode()
print(data)
#保存到本地
with open("02-encode.html","w",encoding = "utf-8") as f:
f.write(data)
#UnicodeEncodeError: 'ascii' codec can't encode characters in position 184-185: ordinal not in range(128)
#原因:python是解释性语言,解析器只支持 ascii只支持 0-127,即不支持中文
get_method_params()
已经确认是代码是和视频中一模一样的,但是我的却无法正常运行,生成的HTML文件点击打开的时候会不断的刷新,我的运行结果如图
这是百度的反爬机制,加个请求头就好了
- import urllib.request
- import urllib.parse
- import string
- def get_method_params():
- url = "https://www.baidu.com/s?ie=UTF-8&wd="
- headers = {
- 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.204 Safari/537.36',
- }
- #拼接字符串(汉字)
- #python可以接受的数据
- #
- name ="美女"
- final_url = url + name
- print(final_url)
- #代码发送了请求
- #网址里面包含了汉字,ascii是没有汉字的,需要url转译
- #将包含汉字的网址进行转译
- encode_new_url = urllib.parse.quote(final_url,safe = string.printable)
- print(encode_new_url)
- #使用代码发送网络请求
- req = urllib.request.Request(encode_new_url, headers=headers) # 加个头就好了
- response = urllib.request.urlopen(req)
- print(response)
- data = response.read().decode()
- print(data)
- #保存到本地
- with open("02-encode.html","w",encoding = "utf-8") as f:
- f.write(data)
- #UnicodeEncodeError: 'ascii' codec can't encode characters in position 184-185: ordinal not in range(128)
- #原因:python是解释性语言,解析器只支持 ascii只支持 0-127,即不支持中文
- get_method_params()
复制代码
|
-
左边会一直刷新,正常来说,会进如百度搜索出的一个美女页面
|