Скребок: как переформатировать сбор и вывод данных csv

Этот код предназначен для прокрутки всех страниц результатов, а затем прокрутки таблицы результатов на каждой странице и очистки всех данных из таблицы, а также некоторой информации, хранящейся за пределами таблицы.

В настоящее время мой код просто очищает первое имя в каждой таблице и в основном использует его как организующий ключ. Мне нужно, чтобы код очищал всю информацию из таблицы, каждое имя и связанную информацию с каждой строки, а затем связывался с каждой строкой, которая была очищена от общей информации, которая применяется ко всем кандидатам в таблице.

Например, см. Эту страницу . В настоящее время мой вывод выглядит следующим образом:

Brian Benoit,25-Jun-16,Conservative,12-May-16,25-Jun-16,Medicine Hat--Cardston--Warner,b'Medicine Hat--Cardston--Warner',Nikolai Punko 

Это должно выглядеть так:

 Brian Benoit,25-Jun-16,Conservative,12-May-16,25-Jun-16,Medicine Hat--Cardston--Warner,b'Medicine Hat--Cardston--Warner',Nikolai Punko Paul Hinman,25-Jun-16,Conservative,12-May-16,25-Jun-16,Medicine Hat--Cardston--Warner,b'Welling, Alberta',Robert B. Barfuss Michael Jones,25-Jun-16,Conservative,12-May-16,25-Jun-16,Medicine Hat--Cardston--Warner,b'Raymond, Alberta',Dawn M. Hamon 

И так далее, для всех шести участников в этой гонке.

Мои вопросы:

(1) Как я могу переписать свой код, чтобы очистить все данные из каждой строки каждой таблицы и добавить в каждую строку данные со страницы, разделяемой всеми записями в таблице? (т. е. достичь вышеупомянутого выхода)

(1a) Как я могу получить какой-то результат для elected/1 категории elected/1 ? В настоящее время выход пуст.

Вот мой код:

 from bs4 import BeautifulSoup import requests import re import csv url = "http://www.elections.ca/WPAPPS/WPR/EN/NC?province=-1&distyear=2013&district=-1&party=-1&pageno={}&totalpages=55&totalcount=1368&secondaryaction=prev25" with open('scrapeOutput2.csv', 'w', newline='') as f_output: csv_output = csv.writer(f_output) for i in range(1, 56): print(i) r = requests.get(url.format(i)) data = r.text soup = BeautifulSoup(data, "html.parser") links = [] for link in soup.find_all('a', href=re.compile('selectedid=')): links.append("http://www.elections.ca" + link.get('href')) for link in links: r = requests.get(link) data = r.text cat = BeautifulSoup(data, "html.parser") header = cat.find_all('span') tables = cat.find_all("table")[0].find_all("td") row = [ #"name": re.sub("[\n\r/]", "", cat.find_all("table")[0].find_all("td", headers="name/1")[0].contents[0]).strip(), #"date": header[2].contents[0], #"party": re.sub("[\n\r/]", "", cat.find("legend").contents[2]).strip(), #"start_date": header[3].contents[0], #"end_date": header[5].contents[0], #"electoral district": re.sub("[\n\r/]", "", cat.find_all('div', class_="group")[2].contents[2]).strip(), #"registered association": re.sub("[\n\r/]", "", cat.find_all('div', class_="group")[2].contents[2]).strip().encode('latin-1'), #"elected": re.sub("[\n\r/]", "", cat.find_all("table")[0].find_all("td", headers="elected/1")[0].contents[0]).strip(), #"address": re.sub("[\n\r/]", "", cat.find_all("table")[0].find_all("td", headers="address/1")[0].contents[0]).strip(), #"financial_agent": re.sub("[\n\r/]", "", cat.find_all("table")[0].find_all("td", headers="fa/1")[0].contents[0]).strip()] csv_output.writerow(row) 

 
Interesting Posts for Van-Lav

openCV и python: морфологическое преобразование вне границ

Неэффективная многопроцессорность вычислений на основе numpy

Поиск требований, эквивалентных возможностям Mechanize

Как группировать серию по значениям в пандах?

Процесс многопроцессорности Python по сравнению с автономной виртуальной машиной Python

Подсчитайте количество уникальных элементов списка кортежей, независимо от порядка в Python

Подпроцесс Python .check_call vs .check_output

Как поймать stdout python в c ++-коде

Как я могу заставить Geany показать мне методы, которые имеет библиотека, когда я нажимаю кнопку «.». ключ?

как скопировать значение массива numpy в более высокие размеры

Каков наилучший способ обработки объектов objects.get Django?

Google Drive Python API возобновляет загрузку 401 через 2 часа

Python Regex работает не так, как ожидалось

как работать с unicode в mako?

Python: поиск файла в текущем каталоге и всех его родителей

Python - лучший язык программирования в мире.