#python #string
#python #строка
Вопрос:
Я хочу получить заголовок статьи из HBR, но, к сожалению, я нахожу неправильный заголовок ,
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36"
что мне делать?
Код :
import requests
hbr_url = "https://hbr.org/service/components/list/latest/1/8?format=jsonamp;id=page.list.home"
hrb_header = {
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36"
}
hbr_data = requests.get(url=hbr_url , header = hrb_header)
hbr_json =hbr_data.json()
hrb_article =hbr_json['entry']
for title222 in hrb_article:
hbr_title = hrb_article['title']
print(hbr_title)
Ошибка:
Traceback (most recent call last):
File "/Users/stanleydu/PycharmProjects/untitled19/hbbs.py", line 21, in <module>
hbr_title = hrb_article['title']
TypeError: list indices must be integers or slices, not str
Комментарии:
1. Прочитайте сообщение об ошибке, затем посмотрите на значение
hrb_article
Попробуйте использовать отладчик.
Ответ №1:
Похоже, что hbr_json['entry']
это список словарей, каждый из которых имеет 'title'
ключ. Вы используете неправильную переменную внутри своего цикла. Вам нужно:
hrb_article = hbr_json['entry']
for title222 in hrb_article:
hbr_title = title222['title'] # <=== this is the corrected line
print(hbr_title)
Это дает:
Do You Have the Tools to Build a Great Employee Experience?
Remote Work Doesn’t Have to Mean All-Day Video Calls
4 Questions to Help Women Navigate the Second Half of Their Careers
The Case for Remote Work in Health Care
Creating More Resilient Supply Chains
Quantify Your Company’s Impact on People
A Better Approach to Fighting Chronic Diseases
How to Identify a Family-Friendly Employer
(Также в вашем вызове requests.get
кажется, что вам нужно headers
вместо header
имени аргумента ключевого слова. Предположительно, это просто ошибка в вопросе, иначе в этой строке произошел бы сбой.)
Комментарии:
1. Чувак, ты лучший, Спасибо за помощь, это работает!!!