吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2268|回复: 21
收起左侧

[已解决] Python的parse模块问题

  [复制链接]
luanshils 发表于 2019-10-30 00:22
本帖最后由 luanshils 于 2019-10-30 08:02 编辑

[Python] 纯文本查看 复制代码
import urllib
from urllib import parse, request

url='http://www.baidu.com/s?{}'
search=input("请输入搜索内容:")
url_str=url.format(parse.urlencode({'wd':search}))
req=urllib.request.Request(url=url_str,headers={"User-Agent":"Mozilla/5.0"})
res=urllib.request.urlopen(req)
html=res.read().decode(“utf-8”)
filename=search+".txt"

with open (filename,"w+") as fp:
    fp.write(html)


一开始能运行,但是输入结果后就报错:
后面大家帮我找到了几个错误的地方,我就修改了

真的不知道为什么,百度了半小时,怎么查都查不出来。
我只是想保存模拟请求打开的一个网页,唉,这么波折。


然后最新的出错图是
image.png

最后根据各位的帮忙,我终于解决了问题
最后的问题是保存的时候没有写encoding的格式

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

luopo 发表于 2019-10-30 10:30
with open (filename,"w+",encoding='utf8') as fp:    在写入文件的时候,\xbb等特殊字符,默认的gbk编码识别不了,所以要写上写入时的编码

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
luanshils + 1 + 1 谢谢@Thanks!

查看全部评分

我叫小月亮 发表于 2019-10-30 00:43
说实话你这代码有点看不懂,utl是什么鬼?url.str?还是url_str??还是喜欢用requests模块。。

免费评分

参与人数 1热心值 +1 收起 理由
luanshils + 1 热心回复!

查看全部评分

 楼主| luanshils 发表于 2019-10-30 00:45
本帖最后由 luanshils 于 2019-10-30 00:47 编辑
我叫小月亮 发表于 2019-10-30 00:43
说实话你这代码有点看不懂,utl是什么鬼?url.str?还是url_str??还是喜欢用requests模块。。

手滑,r弄成t了,不过还是错,还是之前的错误,因为我是看着CSDN上的教程来走的,- -初学者,望见谅
518 发表于 2019-10-30 00:48
url.str改为url_str
 楼主| luanshils 发表于 2019-10-30 00:51
518 发表于 2019-10-30 00:48
url.str改为url_str

谢谢,改了,我还是错,- -
 楼主| luanshils 发表于 2019-10-30 00:54
我叫小月亮 发表于 2019-10-30 00:43
说实话你这代码有点看不懂,utl是什么鬼?url.str?还是url_str??还是喜欢用requests模块。。

这个代码计算要求我请求百度网页,然后搜索内容,把结果解码保存到本地txt
jinting 发表于 2019-10-30 01:14
[Python] 纯文本查看 复制代码
import urllib
from urllib import parse, request


url='http://www.baidu.com/s?{}'
search=input("请输入搜索内容:")
url_str=url.format(parse.urlencode({'wd':search}))

req=urllib.request.Request(url=url_str,headers={"User-Agent":"Mozilla/6.0"})
res=urllib.request.urlopen(req)
html=res.read().decode("utf-8")

filename= "word.txt"

with open (filename,"w",encoding="utf-8") as fp:
    fp.write(html)


参考!你的里面变量名,方法用错了
jinting 发表于 2019-10-30 01:21
建议先去好好看看视频,当初我自己学也是这么过来的,理解
bookaccount 发表于 2019-10-30 01:44
文件名里可能有非法字符,可以加try catch把出错的filename打印出来,就知道怎么回事了

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
luanshils + 1 + 1 谢谢@Thanks!

查看全部评分

chomosuke 发表于 2019-10-30 04:51
本帖最后由 chomosuke 于 2019-10-30 06:34 编辑

可以参考一下我的代码: https://github.com/Maemo8086/Python_AiPan_Crawler/blob/3098eb7172ef0defa330e4bbd81e403380c740a3/AiPan.py#L199
requests库把encoding设定成apparent encoding就可以了

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
luanshils + 1 + 1 热心回复!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-13 10:47

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表