Cómo obtener artículos de lectura de lectura como enlaces -- macos campo con icloud campo con safari campo con reading-list camp apple Relacionados El problema

How to get Reading List items as links


6
vote

problema

Español

Solo tengo mil millones de artículos en la lista de lectura de Safari y me gustaría los enlaces a todos ellos.

¿Hay alguna manera de obtener todos los artículos en su lista de lectura como enlaces (tal vez en un documento de texto)?

Original en ingles

I just have a billion items in Safari's reading list and I would like the links to all of them.

Is there a way to get all of the items in your reading list as links (maybe in a text document)?

           
     
     

Lista de respuestas

9
 
vote
vote
La mejor respuesta
 

Abraté un script de Python para leer el archivo de plist a la que se hace referencia en el Pregunta Patrix mencionada en los comentarios .

  #!/usr/bin/env python import plistlib from shutil import copy import subprocess import os from tempfile import gettempdir import sys import atexit  BOOKMARKS_PLIST = '~/Library/Safari/Bookmarks.plist' bookmarksFile = os.path.expanduser(BOOKMARKS_PLIST)  # Make a copy of the bookmarks and convert it from a binary plist to text tempDirectory = gettempdir() copy(bookmarksFile, tempDirectory) bookmarksFileCopy = os.path.join(tempDirectory, os.path.basename(bookmarksFile))  def removeTempFile():     os.remove(bookmarksFileCopy)  atexit.register(removeTempFile) # Delete the temp file when the script finishes  converted = subprocess.call(['plutil', '-convert', 'xml1', bookmarksFileCopy])  if converted != 0:     print "Couldn't convert bookmarks plist from xml format"     sys.exit(converted)  plist = plistlib.readPlist(bookmarksFileCopy)  # There should only be one Reading List item, so take the first one readingList = [item for item in plist['Children'] if 'Title' in item and item['Title'] == 'com.apple.ReadingList'][0]  if 'Children' in readingList:     for item in readingList['Children']:         print item['URLString']   

Copie y pegue que en un archivo, llame a algo así como readinglisturls.py . Luego, hágalo ejecutable ejecutando chmod +x readinglisturls.py en el terminal. Luego, puede ejecutarlo en el terminal y imprimirá cualquier URL de lectura de lectura. Si desea las URL en un archivo, puede redirigir la salida a un archivo ejecutando /path/to/readinglisturls.py > myfile.txt en el terminal.

 

I whipped up a Python script to read the plist file referenced in the question patrix mentioned in the comments.

#!/usr/bin/env python import plistlib from shutil import copy import subprocess import os from tempfile import gettempdir import sys import atexit  BOOKMARKS_PLIST = '~/Library/Safari/Bookmarks.plist' bookmarksFile = os.path.expanduser(BOOKMARKS_PLIST)  # Make a copy of the bookmarks and convert it from a binary plist to text tempDirectory = gettempdir() copy(bookmarksFile, tempDirectory) bookmarksFileCopy = os.path.join(tempDirectory, os.path.basename(bookmarksFile))  def removeTempFile():     os.remove(bookmarksFileCopy)  atexit.register(removeTempFile) # Delete the temp file when the script finishes  converted = subprocess.call(['plutil', '-convert', 'xml1', bookmarksFileCopy])  if converted != 0:     print "Couldn't convert bookmarks plist from xml format"     sys.exit(converted)  plist = plistlib.readPlist(bookmarksFileCopy)  # There should only be one Reading List item, so take the first one readingList = [item for item in plist['Children'] if 'Title' in item and item['Title'] == 'com.apple.ReadingList'][0]  if 'Children' in readingList:     for item in readingList['Children']:         print item['URLString'] 

Copy and paste that into a file, name it something like readinglisturls.py. Then make it executable by running chmod +x readinglisturls.py in the Terminal. Then you can run it in the Terminal and it will print out any Reading List URLs. If you want the URLs in a file, you can redirect the output to a file by running /path/to/readinglisturls.py > myfile.txt in the Terminal.

 
 
 
 
2
 
vote

Otra opción usando la PLIST RUBY GEM:

ABCDEFGHIJKLMNABCDEFGHIJKLMN4

o si no tiene otros marcadores:

ABCDEFGHIJKLMNABCDEFGHIJKLMN5

 

Another option using the plist Ruby gem:

sudo gem install plist;plutil -convert xml1 -o - ~/Library/Safari/Bookmarks.plist|ruby -rubygems -e 'require "plist";puts Plist.parse_xml(STDIN.read)["Children"].select{|e|e["Title"]=="com.apple.ReadingList"}[0]["Children"].map{|e|e["URLString"]}'

Or if you don't have other bookmarks:

defaults read ~/Library/Safari/Bookmarks.plist | sed -En 's/^ *URLString = "(.*)";/\1/p'

 
 
1
 
vote

Aquí hay una versión que usa la Idioma de programación de factores que es un poco más simple que la versión de Python que ya respondió en esta publicación: < / p>

  : reading-list ( -- urls )     "~/Library/Safari/Bookmarks.plist" read-plist     "Children" of [ "Title" of "com.apple.ReadingList" = ] find nip     "Children" of [ "URLString" of ] map ;   

Más información está disponible en esta Post de blog . < / p>

 

Here's a version using the Factor programming language that is a bit simpler than the Python version answered already in this post:

: reading-list ( -- urls )     "~/Library/Safari/Bookmarks.plist" read-plist     "Children" of [ "Title" of "com.apple.ReadingList" = ] find nip     "Children" of [ "URLString" of ] map ; 

More information is available in this blog post.

 
 

Relacionados problema

4  Cree URL de preferencias del sistema a archivos y carpetas de privacidad en 10.15 Catalina  ( Create system preferences url to privacy files and folders in 10 15 catalina ) 
En MACOS, puede crear un enlace a la sección de automatización del panel de privacidad en las preferencias del sistema mediante la siguiente URL x-apple.sy...

0  Despertar a la demanda de no trabajar con Apple TV 3 e IMAC Mountain Lion  ( Wake on demand not working with apple tv 3 imac mountain lion ) 
Tengo un IMAC (mediados de 2008) con león de montaña. Recientemente compré un Apple TV 3 y he leído que esto puede permitir la demanda a través de la demanda ...

5  ¿Configurar caleidoscopio como herramienta de diff externa en Intellij?  ( Setup up kaleidoscope as external diff tool in intellij ) 
Quiero cambiar la herramienta de difusión a una externa en IDEA INTELLIJ (básicamente en el estudio Android). obtengo este mensaje : no puede "lanzar l...

1  ¿Puedo hacer impresión a doble cara? [duplicar]  ( Can i make double sided printing the default ) 
Esta pregunta ya tiene respuestas aquí : OSX (Yosemite) Haz que 2 lados imprimen el valor predetermi...

0  Solución de problemas de un MacBook Pro que no está cargando de la alimentación  ( Troubleshooting a macbook pro that is not charging from power ) 
Mi MacBook Pro no está cargando, la luz del cargador no está encendida, y la imagen de la batería indica que no está cargando . La computadora tiene aproxim...

0  Línea de conexión en gris en iBooks Author  ( Connection line grayed out in ibooks author ) 
Fui a MENU-Format-Text y todo eso, pero la cosa es la casilla en gris totalmente. En este punto, todo lo que pude hacer clic en el hecho de hacer clic en el...

1  ¿Cómo reinstalar OS X en un IMAC que solo tiene Ubuntu instalado en él?  ( How to reinstall os x on an imac which only has ubuntu installed on it ) 
Tengo un IMAC de 2011 con solo Ubuntu instalado. No es un IMAC de doble arranque, solo tiene instalado Ubuntu. ¿Cómo vuelvo a Volver a OS X original y elimi...

2  Borrado de disco incorrectamente ahora tengo "Apple SSD AP0128J Media" en lugar de Macintosh HD y software roto  ( Erased disc incorrectly now i have apple ssd ap0128j media instead of macintos ) 
Estaba preparando mi computadora portátil para una venta y se inició en modo de recuperación. Luego fui a la utilidad de disco, seleccioné mi Macintosh HD y l...

7  No se puede encender wifi en Mac OSX Mountain Lion MBP 2012  ( Cant turn on wifi on mac osx mountain lion mbp 2012 ) 
La interfaz WIFI no se enciende cuando presiono "Activar WiFi" de las preferencias ni desde la barra de estado. Intenté reiniciar la Mac y reiniciar el PRAM...

0  No se pueden arrastrar iconos en Dock [Duplicar]  ( Unable to drag icons in dock ) 
Esta pregunta ya tiene respuestas aquí : Problemas de Finder and Dock en OSX 10.10.1 ...

16  ¿Qué causa algunas unidades de red usando SMB ya no se conecta a MacOS Catalina?  ( What causes some network drives using smb no longer connect to macos catalina ) 
Ejecutar la versión de lanzamiento de MacOS Catalina Algunas acciones de SMB no se conectarán cuando lo hicieron en MoJave. Noté esto primero después de actua...

3  Mírame por un problema por correo electrónico  ( Look me up by email problem ) 
¿Alguien tiene algo en la pestaña "Mírate por correo electrónico"? Estoy tratando de entender cómo eliminar esta cosa de "Mírate por correo electrónico". Esta...

6  "Texto Ghost" en Terminal, Yosemite + TotalTerminal (Anteriormente Visor)  ( Ghost text in terminal yosemite totalterminal formerly visor ) 
Hay "texto fantasma" en mi terminal (vea la captura de pantalla), y espero que alguien sepan cómo arreglar esto ... < / p> Transmisión de fondo de fondo d...

2  Los dispositivos Bluetooth conectados no emiten audio en MacBook Air  ( Connected bluetooth devices dont output audio on macbook air ) 
Tengo un par de auriculares inalámbricos, y airpods que puedo conectarme a mi MacBook Air a través de Bluetooth. Sin embargo, los momentos después de conectar...

2  ¿Cómo encuentro una lista de impresoras disponibles en un servidor de impresión específico?  ( How do i find a list of available printers on a specific print server ) 
¿Hay una forma de encontrar una lista de impresoras disponibles en un servidor determinado como puede en una PC? Por ejemplo, mi escuela alberga todas sus i...




© 2021 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos


Licensed under cc by-sa 3.0 with attribution required.