初学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")
这个里面的文件名需不需要绝对路径,代码里面还没有保存这个文件。这个应该是新建一个文件对象吧。都没有保存文件,那为什么会出现错误。怎么写这个代码才能正常运行。

参考技术A

如果文件名中包含路径,你有三种办法:

    在路径中使用\\\\代替\\:
    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数据抓取,有一段代码就是运行不了。有知道的大神帮帮忙,谢谢的主要内容,如果未能解决你的问题,请参考以下文章

抓取js动态生成数据

python网络数据抓取二(bing图片抓取)

Python的几个爬虫代码整理(网易云微信淘宝今日头条)

python中selenium控制浏览器尺寸

在 BeautifulSoup 抓取之后从 Python 中的列表中提取数据,并创建 Pandas 表

我现在有一套在网站上爬取数据的程序(用python写的)如何在服务器运行