Я получаю сообщение об ошибке HTTP 400 Bad Request, используя urllib.request? - PullRequest
0 голосов
/ 17 ноября 2018

Так что я уже некоторое время сижу над этой проблемой, я получаю ошибку неверного запроса при выполнении кода ниже.

url = input("Twitter link: ")
print("\n")
html_doc = urllib.request.urlopen(url)
soup = BeautifulSoup(html_doc, 'lxml')

name = soup.find('h1').a.text
location = soup.find('span', {'class' : 'ProfileHeaderCard- 
locationText'}).text
locationstrip = location.strip()
created = soup.find('span', {'class' : 'ProfileHeaderCard- 
joinDateText'}).text
birthday = soup.find('span', {'class' : 'ProfileHeaderCard- 
birthdateText'}).text
birthdaystrip = birthday.strip()
posted = soup.find('a', {'class' : 'PhotoRail-headingWithCount'}).text
postedstrip = posted.strip()

print("Info")
print("-------- \n")
print(name)
print(locationstrip)
print(created)
print(birthdaystrip)
 print(postedstrip)
url = "http://www.wikipedia.com/wiki/" + name
formedurl = urllib.request.Request(url, headers={'User-Agent': 'Chrome/70.0.3538.102'})
html_doc = urllib.request.urlopen(formedurl)
soup = BeautifulSoup(html_doc, 'lxml')

Я прочитал, что вам нужно указать пользовательский агент, поэтому я сделалчтобы он выглядел как законный HTTP-запрос, но я все еще получаю эту ошибку.Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 18 ноября 2018

вам нужно заменить space на undescore _ in name

name = name.replace(' ', '_')
url = "http://www.wikipedia.com/wiki/" + name
0 голосов
/ 17 ноября 2018

Скопируйте заголовки из браузера и удаляйте их по одному, пока не найдете минимальный набор, который работает.

...