【发布时间】:2021-01-01 14:05:56
【问题描述】:
新年快乐!
我刚刚开始学习 Julia,我为自己设定的第一个小挑战是从大量 URL 列表中抓取数据。
我在 CSV 文件中有 ca 50k URL(我使用 Julia 使用 Regex 从 JSON 中成功解析了这些 URL)。我想抓取每一个并返回一个匹配的字符串(“/page/12345/view” - 其中 12345 是任何整数)。
我设法使用 HTTP 和 Queryverse 做到了这一点(虽然从 CSV 和 CSVFiles 开始,但出于学习目的查看包)但脚本似乎在不到 2k 后停止。我看不到超时等错误。
请问是否有人可以建议我做错了什么或如何以不同的方式处理它?学习资源的解释/链接也很棒!
using HTTP, Queryverse
URLs = load("urls.csv") |> DataFrame
patternid = r"\/page\/[0-9]+\/view"
touch("ids.txt")
f = open("ids.txt", "a")
for row in eachrow(URLs)
urlResponse = HTTP.get(row[:url])
if Int(urlResponse.status) == 404
continue
end
urlHTML = String(urlResponse.body)
urlIDmatch = match(patternid, urlHTML)
write(f, urlIDmatch.match, "\n")
end
close(f)
【问题讨论】:
标签: web-scraping julia