使用curl | grep获得广告牌前200名

使用curl | grep获得广告牌前200名,curl,grep,xquery,Curl,Grep,Xquery,嗨,我正试图抓住广告牌上的前200首歌曲/艺术家 我知道我需要使用 curlhttp://www.billboard.com/charts/billboard-200 |grep“”? 这会抓取第一页的歌曲并将其输出,但看起来很难看。以下是一些帮助您继续的方法: curl -silent http://www.billboard.com/charts/billboard-200 | awk -vRS="id=\"rank_" -F"\n" 'NR>1 {split($4,m," *<

嗨,我正试图抓住广告牌上的前200首歌曲/艺术家

我知道我需要使用
curlhttp://www.billboard.com/charts/billboard-200 |grep“”?

这会抓取第一页的歌曲并将其输出,但看起来很难看。

以下是一些帮助您继续的方法:

curl -silent http://www.billboard.com/charts/billboard-200 | awk -vRS="id=\"rank_" -F"\n" 'NR>1 {split($4,m," *</?h1>");melody=m[2];split($6,a,"\"");artist=a[4];print "("$1+0") "melody " - " artist}'
(1) 1989 - Taylor Swift
(2) x - Ed Sheeran
(3) The Pinkprint - Nicki Minaj
(4) In The Lonely Hour - Sam Smith
(5) SremmLife - Rae Sremmurd
(6) Hozier - Hozier
(7) 2014 Forest Hills Drive - J. Cole
(8) Guardians Of The Galaxy: Awesome Mix Vol. 1 - Soundtrack
(9) FOUR - One Direction
(10) My Everything - Ariana Grande
(11) Into The Woods - Soundtrack
(12) Montevallo - Sam Hunt
(13) Annie - Soundtrack
(14) Greatest Hits: Decade #1 - Carrie Underwood
(15) V - Maroon 5
(16) Frozen - Soundtrack
(17) Old Boots, New Dirt - Jason Aldean
(18) Reclassified - Iggy Azalea
(19) Native - OneRepublic
(20) 1000 Forms Of Fear - Sia
curl-silenthttp://www.billboard.com/charts/billboard-200 |awk-vRS=“id=\”rank \“-F”\n“NR>1{split($4,m,“*”);melody=m[2];split($6,a,“\”);artist=a[4];print“($1+0”)“melody”-“artist}”
(1) 1989年的今天,泰勒·斯威夫特
(2) x-Ed Sheeran
(3) 针印-Nicki Minaj
(4) 在孤独的时刻-山姆·史密斯
(5) SremmLife-Rae Sremmurd
(6) 霍泽尔-霍泽尔
(7) 2014森林丘陵大道-J.科尔
(8) 银河守护者:真棒混音第1卷-配乐
(9) 四一方向
(10) 我的一切——阿丽亚娜·格兰德
(11) 进入树林-配乐
(12) 蒙特瓦洛-山姆亨特
(13) 安妮-配乐
(14) 最受欢迎歌曲:十年#1-卡莉·安德伍德
(15) V-褐红色5
(16) 冻结音轨
(17) 旧靴子,新污垢-杰森·奥尔登
(18) 重新分类-Iggy杜鹃花
(19) 本地-非本地公共
(20) 1000种形式的恐惧-Sia
输出: 注
  • 使用和

谢谢,saxon lint看起来很有趣,我喜欢它对于刚刚开始编写脚本和这类东西的人来说可读性有多强。是的,它相当清晰。只需要学习一点XPath和XQuery,它的功能非常强大。我会的,但我没有代表。我似乎无法让你的代码正常工作,我在执行时就知道了<代码>第2行第1列XPST0003 XQuery语法错误靠近#…/www.w3.org/1999/xhtml“\ \:表达式中的无效字符“\”第3行第5列XPST0003 XQuery语法错误靠近#…让\ \ 35;:表达式中的无效字符“\”静态错误在./saxon-lint.pl第68行的查询空字符串中。在./saxon-lint.pl第68行。键入:
sed-i 43d saxon lint.pl
,抱歉,我必须修复此问题(目前尚未发布),我已将您的代码更改为:
saxon lint--html--xpath',在//article/header let$song:=$a/h1/text()让$artist:=$a/p[@class=“chart\u info”]/a/text()返回concat(“艺术家:,$artist,,$song:,$song)”http://www.billboard.com/charts/billboard-200
它从行尾打印一个大约6个空格的$a。为什么这样做
$ for i in {0..9}; do
   saxon-lint --html --xquery '
     for $a in //article[@id]
        let $chart    := $a//span[@class="this-week"]/text()
        let $artist   := normalize-space($a//div[@class="row-title"]/h3/a/text())
        let $song     := normalize-space($a//h2/text())
        let $link     := string($a//div[@class="row-title"]/h3/a/@href)
     return
        concat(
          "[", $chart, "] ", $song, " - ", $artist,
             " : http://www.billboard.com", $link
         )
   ' "http://www.billboard.com/charts/billboard-200?page=$i"
done
[1] 1989 - Taylor Swift : http://www.billboard.com/artist/371422/taylor-swift
[2] x - Ed Sheeran : http://www.billboard.com/artist/276089/ed-sheeran
[3] The Pinkprint - Nicki Minaj : http://www.billboard.com/artist/312259/nicki-minaj
...
[200] Take Me Home - One Direction : http://www.billboard.com/artist/314021/one-direction