【问题标题】:Julia: website scraping?朱莉娅:网站抓取?
【发布时间】:2018-04-28 15:55:58
【问题描述】:

几天来,我一直在尝试使用这个小代码来获取期刊网站上新闻的标题和链接。

using HTTP
function website_parser(website_url::AbstractString)
r = readstring(get(website_url))
splitted = split(r, "\n")
end

website_parser("https://www.nature.com/news/newsandviews")

问题是,一旦我从网站上得到文本,我就无法弄清楚如何继续。如何检索特定元素(在这种情况下作为新闻的标题和链接)?

非常感谢任何帮助,谢谢

【问题讨论】:

标签: web-scraping julia


【解决方案1】:

您需要某种 HTML 解析。对于仅提取标题,您可能可以摆脱正则表达式,即built in

如果它变得比这更复杂,正则表达式don't generalize,你应该使用成熟的 HTML 解析器。 Gumbo.jl 似乎是 Julia 中最先进的,并且具有相当简单的界面。

在后一种情况下,不需要拆分文档;在前者中,它至少使事情变得更复杂,从那时起你必须考虑换行符。所以,最好先解析,再拆分。

可以使用库Cascadiagit repo提取特定元素 例如,可以通过qs = eachmatch(Selector(".classID"),h.root) 提取 HTML 页面中元素的 class 属性,以便为返回的查询字符串 (qs)。

【讨论】:

    猜你喜欢
    • 2018-11-27
    • 2014-04-26
    • 1970-01-01
    • 1970-01-01
    • 2014-02-04
    • 2014-12-31
    • 2017-01-15
    • 2016-02-18
    • 2021-11-04
    相关资源
    最近更新 更多