Экспортировать закладки (и теги) Firefox в CSV? - PullRequest
6 голосов
/ 28 апреля 2019

Firefox позволяет вам экспортировать в HTML, и хотя я мог написать скрипт, который использует регулярные выражения для синтаксического анализа этого в CSV, мне было любопытно, есть ли какие-либо существующие утилиты / аддоны Firefox, которые позволяли бы нам напрямую экспортировать в CSV. Также интересно, есть ли способ импортировать, как это.

Ответы [ 2 ]

0 голосов
/ 24 мая 2019

Я полагаю, что такого расширения пока не существует, но я хотел, чтобы вы знали, что вы также можете экспортировать свои закладки в формат JSON, что может упростить преобразование в CSV по сравнению с работой с экспортом HTML (.... в зависимости от).

Официальная страница поддержки Mozilla Firefox Восстановление закладок из резервной копии или их перенос на другой компьютер упоминает, как это сделать в разделе «Ручное резервное копирование», хотя навигация там осуществляется с помощьюСтрока меню браузера проще:
Bookmarks > Show All Bookmarks, нажмите звездообразную кнопку и выберите Backup....Это вызовет диалоговое окно «Сохранить файл» для файла JSON с именем bookmarks-YYYY-MM-DD.json с текущей датой.

Редактировать: наиболее близким решением для использования надстройки FF, вероятно, является букмарклет JavaScript.Я включил код для первой простой версии в Gist на GitHub .Вы запустили бы это с HTML-экспортом ваших закладок, открытых в вашем браузере.

0 голосов
/ 24 мая 2019

Я собрал это (скрипт Powershell) только для этого вопроса.У меня нет способа импортировать, хотя.Смотрите мои комментарии в коде для объяснения того, что происходит.В закладке есть нечто большее, чем имя и URL, но это самые важные данные, так что это все, что я собрал для CSV.Кроме того, вы должны экспортировать закладки в HTML, это конвертирует их в файл CSV.

#set paths
#where your bookmarks.html is
$bkmarkPath = "C:/Users/jhancock/Desktop/test/FFbookmarks/bookmarks.html"
#where you want your CSV file to be. 
$newCSVPath = 'C:/Users/jhancock/Desktop/test/FFbookmarks/bookmarks.csv'

#get the HTML and parse it out.
$bookmarkpage = New-Object -ComObject "HTMLFile"
$bookmarkpage.IHTMLDocument2_write($(Get-content $bkmarkPath -Raw))

#get the links, and link names and put into variable.
$atags = $bookmarkpage.all.tags("a") | % innerText; 
$links = $bookmarkpage.links | % ie8_href

#clear the file if it exists  
if (Test-Path $newCSVPath) {
  clear-content $newCSVPath
}

#create a new csvfile if it doesn't exist
"""Name"",""URL""`n" | Out-File $newCSVPath -Append

#add number of lines equal to number of links
For ($i=0; $i -lt $links.length; $i++) {
    "`n"""",""""" | Out-File $newCSVPath -Append
    }

#sleep while file is created
start-sleep 2

#import our fresh CSV file
$csv = Import-Csv $newCSVPath -Header Name, URL | Select-object -skip 1

#populate our links and URLs into the CSV
$numItems = $links.Count
for ($i = 0; $i -lt $numItems; $i++) {
    $csv[$i].Name = $atags[$i]
    $csv[$i].URL = $links[$i]
}
#Generate the CSV!
$csv | Export-Csv $newCSVPath -NoTypeInformation
...