#python #web #screen-scraping
Вопрос:
У меня есть файл Excel со столбцом, заполненным 4000 URL-адресов, каждый из которых находится в другой ячейке. Мне нужно использовать Python, чтобы открыть его с помощью Chrome и удалить с веб-сайта некоторые данные с веб-сайта. мимо них в excel.
А затем выполните тот же шаг для следующего URL-адреса. Не могли бы вы, пожалуйста, помочь мне с этим?
Комментарии:
1. Один из вариантов-проверить
requests
(или, возможноrequests_html
,) библиотеку, чтобы получить доступ к веб-страницам. Затем вы можете использоватьBeautifulSoup
библиотеку для анализа DOM или того, что у вас есть. Однако вам, возможно, потребуется принять дополнительные меры, если вы пытаетесь получить доступ к контенту, который нуждается в визуализации.
Ответ №1:
экспортируйте файл excel в файл csv, прочитайте данные из него как
def data_collector(url): # do your code here and return data that you want to write in place of url return url with open("myfile.csv") as fobj: content = fobj.read() #below line will return you urls in form of list urls = content.replace(",", " ").strip() for url in urls: data_to_be_write = data_collector(url) # added extra quotes to prevent csv from breaking it is prescribed # to use csv module to write in csv file but for ease of understanding # i did it like this, Hoping You will correct it by yourself content = """ {content.replace(url, data_to_be_write) """ with open("new_file.csv", "wt") as fnew: fnew.write(content)
после запуска этого кода вы new_file.csv
откроете его с помощью Excel и получите нужные данные вместо URL
если вы хотите, чтобы ваш URL-адрес содержал данные, просто добавьте его, как данные в строке, разделенной двоеточием.