EDIT Я только что понял, какова была функция map(), из-за которой она не запускалась должным образом, я не знаю, почему, но, по крайней мере, сейчас она работает благодаря всей помощи :)Этот код работает только на python2.7?
Я только что обновил мой код к руководству стиля кода pep8 через pycharm, но теперь он работает только на python2, когда я запускаю его, когда python3 получает эту ошибку.
Traceback (most recent call last):
File "main.py", line 28, in <module>
soup.find_all("td", {"class": "location"})[1:],soup.find_all("td", {"class": "date-time"})[1:]):
TypeError: 'NoneType' object is not callable
также номер отслеживания не мой, я только что нашел его в Интернете. импорт SYS запросов на импорт из BS4 импорта BeautifulSoup
s = requests.Session()
s.headers['User-Agent'] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36 '
#if len(sys.argv) == 2:
# trackingNumber = sys.argv[1]
#else:
# print("Enter a tracking number to track a number.")
# sys.exit()
r = s.get("https://tools.usps.com/go/TrackConfirmAction.action?tRef=fullpage&tLc=1&text28777=&tLabels=CX263292019US")
soup = BeautifulSoup(r.text, "lxml")
# Variable declaration.
current_status = soup.find(class_="detail-summary",)
some = soup.find_all("div", {"id": "tracking-results"})
for tag in some:
divTags = tag.find_all("li")
for tag in divTags:
testrip = tag.encode("utf-8").strip() # Remove all the white space off the text from bs4.
if testrip == "The Postal Service could not locate the tracking information for your request." \
" Please verify your tracking number and try again later.":
break
print(
"----------------------------------------------------------------------------------------------------------------")
print(current_status.get_text().strip())
for Status, Location, Time in map(None, soup.find_all("span", {"class": "info-text"}),
soup.find_all("td", {"class": "location"})[1:],
soup.find_all("td", {"class": "date-time"})[1:]):
print(
"----------------------------------------------------------------------------------------------------------------")
try:
print(Status.get_text().strip())
print(Location.get_text().strip())
print(" ".join(Time.get_text().split()))
except Exception:
pass
print(
"----------------------------------------------------------------------------------------------------------------")
как именно он терпит неудачу на Python3? – Marat
Что вы пытаетесь сделать с помощью 'map (None, ...)'? –
Я перебираю информацию, которую bs4 дал мне, и никто не сохранил ее, прекратив выполнение, когда один список закончится так, но добавил дополнительный элемент в списки, поэтому я исправил его с помощью среза. –