Потяните информацию, используя xpath - PullRequest
0 голосов
/ 27 апреля 2018

Кто-нибудь знает, как получить дату с помощью скрапа?

'<a href="/realDonaldTrump/status/988856839893897222" class="tweet-timestamp js-permalink js-nav js-tooltip" title="12:06 PM - 24 Apr 2018" data-conversation-id="988856839893897222"><span class="_timestamp js-short-timestamp " data-aria-label-part="last" data-time="1524596817" data-time-ms="1524596817000" data-long-form="true">Apr 24</span></a>']'  

Я получил этот текст, используя

 response.xpath('//*[contains(@class,"tweet-timestamp js-permalink js-nav js-tooltip")]').extract()

Я после информации после "title =" Я новичок, так что, если вы могли бы объяснить, почему это работает еще лучше, спасибо.

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Получить дату в миллисекундах, содержащуюся в атрибуте @ data-time, и проанализировать ее.

d=float(xpath("string(//a[contains(@class,'tweet-timestamp')]/span/@data-time)"))
datetime.datetime.fromtimestamp(d).strftime('%Y-%m-%d %H:%M:%S')

выход

'2018-04-24 16:06:57'
0 голосов
/ 27 апреля 2018

Попробуйте следующий xpath, чтобы получить дату, которую вы хотите проанализировать. Дата находится в пределах title атрибута. Когда вы хотите получить значение, хранящееся в любом атрибуте, вы должны вызывать его, используя его ключ, как словарь. Сказав, что key здесь title, а value 12:06 PM - 24 Apr 2018.

xpath("//a[contains(@class,'tweet-timestamp')]/@title").extract_first()

Выход:

12:06 PM - 24 Apr 2018
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...