我正在尝试从此link.读取TLE集
链接来自Space-Track.org
我想阅读链接并创建两个变量,这样做是针对两行元素的每一行。我进行了一些搜索,并尝试重用此线程about reading a particular line from a web page in Python中的代码。但是,我对请求或lxml都不熟悉。我尝试运行以下代码:
<import numpy as np
from lxml import html
import requests
for nn in range(0,2):
page = requests.get("https://www.space-track.org/basicspacedata/query/class/tle_latest/ORDINAL/1/NORAD_CAT_ID/39090/orderby/TLE_LINE1%20ASC/format/tleid=%" % nn)
tree = html.fromstring(page.text)
print (tree.xpath("//b/text()")[0])
>
并得到以下回溯错误:
<Traceback (most recent call last):
File "C:\Python36-64\Projects\HTMLTLEREADER.py", line 19, in <module>
page = requests.get("https://www.space-track.org/basicspacedata/query/class/tle_latest/ORDINAL/1/NORAD_CAT_ID/39090/orderby/TLE_LINE1%20ASC/format/tleid=%" % nn)
ValueError: unsupported format character 'A' (0x41) at index 115
>
我最初试图读取这两行以检查代码是否在我的python版本上运行,因此nn的range(0,2)。
任何和所有帮助表示赞赏。
谢谢。
最佳答案
错误消息非常清楚:
ValueError: unsupported format character 'A' (0x41) at index 115
字符串的索引115在这里:
"...NORAD_CAT_ID/39090/orderby/TLE_LINE1%20ASC/format/tleid=%" % nn
↑
您正在使用百分比格式,但您的字符串已经包含URL中不相关的百分比编码的百分比符号。您可以两次转义现有的百分号并修复最后的格式字符串:
"...NORAD_CAT_ID/39090/orderby/TLE_LINE1%%20ASC/format/tleid=%s" % nn
↑ ↑
或者只是连接字符串:
"...NORAD_CAT_ID/39090/orderby/TLE_LINE1%20ASC/format/tleid=" + str(nn)
关于python - 使用lxml/requests(Python3.6.4)来自网页的TLE,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48587811/