Как записать текстовый список в определенный CSV-файл? Python селен соскоб - PullRequest
1 голос
/ 02 апреля 2020

Я новичок в Python, поэтому, пожалуйста, прости меня, если это простая проблема.

Я перебираю весь раздел опыта от Linkedin с использованием Selenium. Ниже приведен мой соответствующий код:

from time import sleep
from selenium import webdriver

ChromeOptions = webdriver.ChromeOptions()
driver = webdriver.Chrome('/Users/jones/Downloads/chromedriver')

driver.get('https://www.linkedin.com/in/pauljgarner/')

##writing 'Name' to excel
writer = csv.writer(open(parameters.file_name, 'w', encoding='utf8'))
writer.writerow(['Name'])

name = sel.xpath('normalize-space(//li[@class="inline t-24 t-black t-normal break-words"])').extract_first()

writer.writerow([name])

##scraping the entire work experience section:

experience = driver.find_elements_by_xpath('//section[@id = "experience-section"]/ul//li')
for item in experience:
    print(item.text)
    print("")

Вывод, который я получаю из раздела опыта, представляет собой текстовый список, который выглядит следующим образом:

Freelance Python Developer
Company Name
Depop
Dates Employed
Jun 2015 – Present
Employment Duration
4 yrs 11 mos
Location
London, United Kingdom
Python development using: Django, PostgreSQL, ElasticSearch, TensorFlow, Redis, gevent, Mongodb, Django REST Framework

Я хочу записать этот вывод в тот же лист Excel, который я использовал, чтобы захватить «Имя».

Формат Excel, который я ищу, будет выглядеть так:

Name  Title   CompanyName  DatesEmployed  EmploymentDuration  Location  Description
Paul  Freel.. Depop        Jun 2015 – P.. 4 yrs 11 mos        London    Python Dev..

Проблема в том, что я не знаю, как преобразовать текстовый список, который я вырезал из раздела опыта, в тот же Лист Excel, который я определил ранее с указанным c элементом (с «Именами»).

1 Ответ

1 голос
/ 02 апреля 2020

Попробуйте это:

from selenium import webdriver

ChromeOptions = webdriver.ChromeOptions()
driver = webdriver.Chrome('/home/shubham/Downloads/chromedriver')
driver.get('https://www.linkedin.com/in/pauljgarner/')


rows = []

name = sel.xpath('normalize-space(//li[@class="inline t-24 t-black t-normal break-words"])').extract_first()
experience = driver.find_elements_by_xpath('//section[@id = "experience-section"]/ul//li')

rows.append([name])
for item in experience:
    rows[0].append(item)
    print(item.text)
    print("")

with open(parameters.file_name, 'w', encoding='utf8') as file:
    writer = csv.writer(file)
    writer.writerows(rows)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...