初学PYTHON数据抓取,有一段代码就是运行不了。有知道的大神帮帮忙,谢谢
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初学PYTHON数据抓取,有一段代码就是运行不了。有知道的大神帮帮忙,谢谢相关的知识,希望对你有一定的参考价值。
# -*- coding: utf-8 -*-import requests# python2 和 python3的兼容代码try: # python2 中 import cookielib print(f"user cookielib in python2.")except: # python3 中 import http.cookiejar as cookielib print(f"user cookielib in python3.")# session代表某一次连接mafengwoSession = requests.session()# 因为原始的session.cookies 没有save()方法,所以需要用到cookielib中的方法LWPCookieJar,这个类实例化的cookie对象,就可以直接调用save方法。mafengwoSession.cookies = cookielib.LWPCookieJar(filename="mafengwoCookies.txt")#用这个 filename = "C:\ProgramData\Miniconda3\Lib\http\mafengwoCookies.txt" 也不行。
mafengwoSession.cookies = cookielib.LWPCookieJar(filename="mafengwoCookies.txt")
这个里面的文件名需不需要绝对路径,代码里面还没有保存这个文件。这个应该是新建一个文件对象吧。都没有保存文件,那为什么会出现错误。怎么写这个代码才能正常运行。
如果文件名中包含路径,你有三种办法:
在路径中使用\\\\代替\\:
filename = 'c:\\\\\\\\ProgramData\\\\...'
在字符串前使用r标记表示路径中转义符\\不处理:
filename = r'c:\\\\programdata\\minic...'
在路径中使用/代替\\:
filename = 'c://programdata/mini...'
如果文件名不含路径,那么它需要位于搜索路径中(sys.path)
追问问题是这段代码里面到底需不需要绝对路径。源代码作者没有写说需要设置绝对路径。
参考技术B 把"mafengwoCookies.txt"这个文件放到当前py脚本的工作目录就可以了。如果一定要放在其他地方,那就filename = r"C:\ProgramData\Miniconda3\Lib\http\mafengwoCookies.txt" 表示用元字符来定位文件。本回答被提问者采纳以上是关于初学PYTHON数据抓取,有一段代码就是运行不了。有知道的大神帮帮忙,谢谢的主要内容,如果未能解决你的问题,请参考以下文章