到目前为止,完全无能为力并且使用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”,并且没有结果,我只需要问:
有没有简单的方法可以找到特定页面上“关键字”的第二个/最后一个匹配?
任何提示,路线甚至链接都会有所帮助。
提前谢谢
编辑: 我之所以没有获得通缉结果的原因可能是因为我需要的“关键字”是超链接的,而搜索栏中“关键字”后面的文字却不是?
答案 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
这是我偶然发现的链接,让我找到解决问题的方法。