gpt4 book ai didi

r - 我如何从 2004 Wayback 机器站点抓取此文本/为什么我运行的代码错误?

转载 作者:行者123 更新时间:2023-12-04 10:38:45 25 4
gpt4 key购买 nike

注意:我之前没有在这里问过一个问题,我仍然不确定如何使它清晰易读,所以让我知道任何混淆或使其更具可读性的提示

我正在尝试从 2004/06 到 2004/09 Internet Archive 捕获的 makeoutclub.com(一个古怪的,现已不复存在的社交网络,针对另类音乐迷,创建于 2000 年左右,使其成为其中之一)下载用户信息互联网上最古老的基于个人资料的社交网络)使用 r,* 特别是 rcrawler 包。
到目前为止,我已经能够使用该包来获取数据框中的用户名和个人资料链接,使用 xpath 来识别我想要的元素,但不知何故它不适用于个人资料的位置或兴趣部分,两者都只是文本而不是 html 中的其他元素。对于我正在谈论的网站/数据的想法,这是我一直在给我的 xpath 发短信的页面:https://web.archive.org/web/20040805155243/http://www.makeoutclub.com/03/profile/html/boys/2.html

我一直在使用 rcrawler 的 ContentScraper 函数测试我的 xpath 表达式,该函数从您需要抓取的站点的一个特定页面中提取与指定 xpath 匹配的元素集。这是我的功能表达式,用于标识站点上的用户名和链接,指定我正在使用的特定页面,并返回一个向量:
testwaybacktable <- ContentScraper(Url = "https://web.archive.org/web/20040805155243/http://www.makeoutclub.com/03/profile/html/boys/2.html", XpathPatterns = c("//tr[1]/td/font/a[1]/@href", "//tr[1]/td/font/a[1]"), ManyPerPattern = TRUE)
这是不好的地方,我正在测试“位置”,最终返回一个空向量
testwaybacklocations <- ContentScraper(Url = "https://web.archive.org/web/20040805155243/http://www.makeoutclub.com/03/profile/html/boys/2.html", XpathPatterns = "//td/table/tbody/tr[1]/td/font/text()[2]", ManyPerPattern = TRUE)
另一个不好的,这个在“兴趣”下寻找文本:
testwaybackint <- ContentScraper(Url = "https://web.archive.org/web/20040805155243/http://www.makeoutclub.com/03/profile/html/boys/2.html", XpathPatterns = "//td/table/tbody/tr[2]/td/font/text()", ManyPerPattern = TRUE)
当我尝试在 Chrome Inspect 中搜索它们时,我在这里使用的 xpath 表达式似乎选择了正确的元素,但程序似乎没有读取它们。我也试过只为每个字段选择一个元素,但它仍然产生一个空向量。我知道这个工具可以读取这个网页中的文本——我测试了另一段随机的文本——但不知何故,当我运行这个测试时我什么也没得到。
我的 xpath 表达式有问题吗?我应该使用不同的工具来做到这一点吗?
谢谢你的耐心!

*这是一个数字人文项目,希望使用一些 nlp 来分析特别是关于性别和性的语言,与对网站上最受欢迎乐队歌词的一些 nlp 分析进行对话。

最佳答案

一个迟到的答案,但也许它会有所帮助。我也不确定整个 TOS 问题,但我认为这是你的问题。长话短说......我只会尝试解决您问题的技术方面;)

我不熟悉 rcrawler-package。通常我使用rvest进行网页抓取,我认为这是一个不错的选择。要实现所需的输出,您必须使用类似的东西

# parameters
url <- your_url
xpath_pattern <- your_pattern
# get the data
wp <- xml2::read_html(url)
# extract whatever you need
res <- rvest::html_nodes(wp,xpath=xpath_pattern)

我认为不可能使用具有多个元素的向量作为模式参数,但是您可以为要单独提取的每个模式运行 html_nodes。

我认为前两个网址/模式应该这样工作。您最后一个网址中的模式似乎不知何故是错误的。如果你想提取表格内的文本,它可能应该类似于“//tr[2]/td/font/text()[2]”

关于r - 我如何从 2004 Wayback 机器站点抓取此文本/为什么我运行的代码错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60031947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com