как извлечь текст, написанный вне тега h4, используя scrapy python

docker history покажет вам историю изображения. Некоторые истории лучше других, но вы можете понять, что делается на каждом слое на пути. Размер 0B обычно означает метаданные, добавленные к изображению, в то время как что-то большее, чем 0B, означает ADD, COPY, RUN или другое изменение, связанное с файловой системой.

, если есть ИДЕНТИФИКАТОР, тогда вы также можете do docker inspect , который расскажет вам подробности о image. Если вы просто хотите узнать тег, который вы можете сделать

docker inspect --format='{{range .RepoTags}}{{.}}{{end}}' 

Небольшой пример форматирования истории:

docker history --format "{{.ID}}"  | grep -v "" | xargs docker inspect --format='{{range .RepoTags}}{{.}}{{end}} {{range .ContainerConfig.Cmd}}{{.}}{{end}}'

0
задан Dharmik Mehta 18 January 2019 в 20:35
поделиться

4 ответа

Кажется, вы ищете реальную демонстрацию. Проверьте следующую реализацию:

import requests
from scrapy import Selector

url = "https://www.imdb.com/title/tt0111161/?pf_rd_m=A2FGELUUNOQJNL&pf_rd_p=e31d89dd-322d-4646-8962-327b42fe94b1&pf_rd_r=702AB91P12YZ9Z98XH5T&pf_rd_s=center-1&pf_rd_t=15506&pf_rd_i=top&ref_=chttp_tt_1"

res = requests.get(url)
sel = Selector(res)
budget = ' '.join(sel.css(".txt-block:contains('Budget')::text").extract()).strip()
gross = ' '.join(sel.css(".txt-block:contains('Gross USA')::text").extract()).strip()
cumulative = ' '.join(sel.css(".txt-block:contains('Cumulative Worldwide')::text").extract()).strip()
print(f'budget: {budget}\ngross: {gross}\ncumulative: {cumulative}')

Вывод на данный момент:

budget: $25,000,000
gross: $28,341,469
cumulative: $58,500,000
0
ответ дан SIM 18 January 2019 в 20:35
поделиться

Вам нужно извлечь текст в массив и получить значение из массива в нужном месте. Пример

import scrapy
# Print Your code here
html_text="""
<div class="txt-block">'+
    <h4 class="inline">Budget:</h4>650,000
    <span class="attribute">(estimated)</span>
</div>
 """
# Parse text selector
selector=scrapy.Selector(text=html_text)
print(selector)
# Extract div
d=selector.xpath('//div[@class="txt-block"]//text()')
values=d.extract() # Gives an array of text values
print(values)
# Value index 2 is what you need
print(values[2])

В Scrapy отсутствует удаление тегов, которое доступно в BeautifulSoup.

0
ответ дан MUNGAI NJOROGE 18 January 2019 в 20:35
поделиться

Попробуйте использовать following-sibling::text() в своем xpath. Вот так: response.xpath('//div[contains(@class, "txt-block")]/h4/following-sibling::text()').get() Это дает необходимую информацию.

0
ответ дан vezunchik 18 January 2019 в 20:35
поделиться

Попробуйте использовать:

data = [d.strip() for d in response.css('.txt-block::text') if d.strip()]

данные, которые вы хотите, фактически находятся в теге div, и я использую этот тег для получения данных.

0
ответ дан ThunderMind 18 January 2019 в 20:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: