Я немного новичок в этом. Идея состоит в том, чтобы очистить данные. У меня проблема с какой-то частью моего кода. Код работает отлично, но во время выполнения команды «print (« Output is: », output)», как показано в приведенном ниже коде. Я ожидаю список объектов. В результате я получаю только один объект в списке. Например, я ожидаю, что после выполнения кода вывод должен быть [resp, resp, ...], он показывает только последний объект, который будет выполнен в l oop как: [resp]. Пример моего вывода:
The output is: [{'Company Name': ' ELEVEN', 'Department': '7', 'Ad Posted To': 'MATUN SIGNNATURE', 'Publication References': 'AGOSTI, annonce n°1125\n\t\t\t\t\t\t\t'}]
Что-то пропущено в моем коде? Спасибо.
В приведенном ниже коде я пропустил некоторую информацию в URL и заголовке. Надеюсь, приведенного ниже кода должно быть достаточно, чтобы объяснить ситуацию.
import requests
from lxml import html
import csv
data = []
for i in range(1, 51, 1):
print('page: %s' % i)
headers = {
//header info
}
response = requests.get(url)
_txt = response.text
data.append(_txt)
print(len(data))
# print(data)
# parsing the html
for text in data:
doc = html.fromstring(text)
container = doc.xpath("//tr[contains(@class, 'pair')]")[1]
company_name = container.xpath('.//dt[contains(text(), "Dénomination sociale :")]/following-sibling::dd[1]/text()')
# publication_date = container.xpath(".//td[@class='colonnel']/text()")
#ad_category = container.xpath('.//dt[contains(text(), "Catégorie d'annonce :")]/following-sibling::dd[1]/text()')
department = container.xpath('.//dt[contains(text(), "Département :")]/following-sibling::dd[1]/text()')
ad_posted_to = container.xpath('.//dt[contains(text(), "Annonce déposée au :")]/following-sibling::dd[1]/text()')
publication_references = container.xpath('.//dt[contains(text(), "Références de publication :")]/following-sibling::dd[1]/text()')
# json output
resp = {}
output = []
for info in zip(company_name, department, ad_posted_to, publication_references):
resp['Company Name'] = info[0]
resp['Department'] = info[1]
resp['Ad Posted To'] = info[2]
resp['Publication References'] = info[3]
print(resp)
output.append(resp)
print("The output is:",output)