Загрузите фид контента страницы Google, используя gdata-python-client
Моя конечная цель - импортировать некоторые данные со страниц сайта Google. Я пытаюсь использовать gdata-python-client (v2.0.17) для загрузки определенного фида контента:
self.client = gdata.sites.client.SitesClient(source=SOURCE_APP_NAME)
self.client.client_login(USERNAME, PASSWORD, source=SOURCE_APP_NAME, service=self.client.auth_service)
self.client.site = SITE
self.client.domain = DOMAIN
uri = '%s?path=%s' % (self.client.MakeContentFeedUri(), '[PAGE PATH]')
feed = self.client.GetContentFeed(uri=uri)
entry = feed.entry[0]
...
Полученный файл entry.content содержит содержимое страницы в формате xhtml. Но это дерево не содержит никаких плановых текстовых данных со страницы. Только html структура страницы и ссылки.
Например, моя тестовая страница имеет
<div>Some text</div>
У записи Content Feed есть только узел div с текстом = None.
Я отладил запрос / ответ gdata-python-client и проверил разрешенные данные с сервера в необработанном буфере - любые плановые текстовые данные в содержимом. Следовательно, это ошибка API Google.
Может быть, есть какой-то обходной путь? Может быть, я могу использовать какой-то общий параметр запроса? Что здесь не так?
1 ответ
Этот код работает для меня в отношении домена Служб Google и gdata 2.0.17:
import atom.data
import gdata.sites.client
import gdata.sites.data
client = gdata.sites.client.SitesClient(source='yourCo-yourAppName-v1', site='examplesite', domain='example.com')
client.ClientLogin('admin@example.com', 'examplepassword', client.source);
uri = '%s?path=%s' % (client.MakeContentFeedUri(), '/home')
feed = client.GetContentFeed(uri=uri)
entry = feed.entry[0]
print entry
Учитывая, что он в значительной степени идентичен вашему, но он может помочь вам доказать или опровергнуть что-то. Удачи!