使用powershell

时间:2018-03-13 13:30:46

标签: string powershell

到目前为止,完全无能为力并且使用PowerShell 4小时,我已经设法根据here的说明获取了我的博士所需的一些数据。

我将代码更改为

$web = Invoke-WebRequest http://link.springer.com/article/10.1007/s12111-017-9355-7
(($web.tostring() -split "[`r`n]" | select-string "Keywords" | Select -First 1) -split ":")[1].Trim()

以获取所选文章中的关键字。

这一切在Springer网页上或多或少都很好,但是当我尝试在Sage上使用它时,它会返回我不需要的信息,因为(我只是猜测)这个词“关键字“出现在”搜索框“中。

这是我用于圣人的代码:

 $web = Invoke-WebRequest http://journals.sagepub.com/doi/full/10.1177/0263276414536746
(($web.tostring() -split "[`r`n]" | select-string "Keywords" | Select -First 1) -split ":")[1].Trim()

我已经尝试使用谷歌搜索如何使PowerShell搜索第二场比赛,但找不到任何我能理解的内容。在尝试(无知)玩代码后,用select - last / Select - all代替“Select - first 1”,并且没有结果,我只需要问:

有没有简单的方法可以找到特定页面上“关键字”的第二个/最后一个匹配?

任何提示,路线甚至链接都会有所帮助。

提前谢谢

编辑: 我之所以没有获得通缉结果的原因可能是因为我需要的“关键字”是超链接的,而搜索栏中“关键字”后面的文字却不是?

1 个答案:

答案 0 :(得分:0)

我正在工作,我无法成功运行你发布的第一个脚本,所以我试着猜猜你要找的是什么输出。我认为您只是想在网页上获取每个关键字的列表,如果是这样,这个脚本应该为您提供您想要的内容。我深入研究了网站的HTML,发现每个keyworkd超链接都有“Attributes”类,所以然后使用powershell来选择具有这些属性的链接并拉出链接的文本。希望它能满足您的需求。

$web = Invoke-WebRequest http://journals.sagepub.com/doi/full/10.1177/0263276414536746
$Keywords = $web.links |Where class -match Attributes
Write-Host $Keywords.outertext

这是我偶然发现的链接,让我找到解决问题的方法。

Use GetElementsByClassName in a script