我试图获取.txt页面的内容,该页面需要登录名和密码才能访问。当我试图通过页面并打印其内容时,出现了一个打字错误:
TypeError: utf_8_encode() argument 1 must be str, not bytes
我访问这些数据的代码是:
import requests
with requests.Session() as c:
url = 'https://www.naturalgasintel.com/user/login'
data_url = 'https://naturalgasintel.com/ext/resources/Data-Feed/Daily-GPI/'
username = 'manguy'
password = 'hi123'
c.get(url)
login_data = dict(username=username, password=password)
c.post(url, data=login_data, headers={'Referer':'https://www.naturalgasintel.com/'})
page = c.get('https://naturalgasintel.com/ext/resources/Data-Feed/Daily-GPI/2018/10/20181009td.txt')
print(page.content)
使用请求模块的命令。具体来说,我需要翻译这些台词:
data = get_browser().result.get_page()
datafile = open(localfile, "w", encoding="utf-8")
datafile.write(data)
datafile.close()
page
在我的剧本里基本上相当于
data
这样我就可以把内容写入文件了。