pátek 23. ledna 2009

Jak najít význam zkratky

Poslední dobou hodně komunikuji s lidmi, kteří tráví [četováním] evidentně hodně času i mimo práci. Používají množství zkratek, ze kterých jsem občas trochu mimo. Jelikož pak většinou nechápu odpovědi typu BFN, ACAB a podobně. Do nynějška jsem vždy použil Google a ne vždy se trefil napoprvé. Rozhodl jsem se vytvořit funkci, která vyhledá význam zkratky na internetu. Po vyzkoušení několika stránek se mi zalíbila (jak z hlediska vrácených odpovědí, tak i z hlediska struktury HTML stránky) stránka Acronyms and Abbreviations na TheFreeDictionary.

Vrácené HTML je ve tvaru, který je vidět na obrázku



Pomocí XPath jsem se dotázal na všechny druhé sloupce a výsledkem je seznam významů. Pro stažení a parsování výsledku hledání jsem použil Invoke-Http a Receive-Http z HttpRest. Použití je jednoduché:


PS C:\> Find-Abbreviation itmu
Inventory Tool for Microsoft Updates

  1. # Name : Find-Abbreviation.ps1
  2. # Author: David "Makovec" Moravec
  3. # Web : http://www.powershell.cz
  4. # Email : powershell.cz@googlemail.com
  5. #
  6. # Description: Finds meaning of given abbreviation
  7. # : Uses HttpRest http://poshcode.org/787
  8. #
  9. # Version: 0.1
  10. # History:
  11. # v0.1 - (add) basic functionality
  12. #
  13. # Usage: Find-Abbreviation fyi
  14. #
  15. #################################################################
  16. function Find-Abbreviation {
  17. $url = "http://acronyms.thefreedictionary.com/$args"
  18. Invoke-Http get $url | Receive-Http Text "//tr[@cat]//td[2]"
  19. }
Skript je ke stažení na PoshCode.

Žádné komentáře: