我有一个项目,使用 R 从搜索查询生成的 URL 中提取关键字。然后,识别最常见的关键字,计算这些提取的关键字的 TF-IDF 等。
作为 R 新手,我尝试过以下方法。我使用了两个不同的链接然后我:
第 1 步:我使用以下代码进行了关键字提取:R 中的网页抓取和文本挖掘。我运行此代码两次,因为我通过更改代码中 getURL() 中的链接来提取 2 个 URL。 结果:每个 URL 都有 1 个 dtm 已提取。
第 2 步:为了计算 tf-idf,我分析并使用了本文档中的第 3 章:http://tidytextmining.com/tfidf.html。我根据文档构建了我的数据模式:
目标是从搜索查询生成的 URL 中提取关键字。我已经使用以下代码生成了 URL:How to get google search results。 (请参阅下面的代码片段)
提取后,确定这些关键词出现的次数、最常用的关键词,然后计算这些关键词的 TF-IDF。
作为初学者,这是我能想到的最好的方法(虽然我确实尝试过),但我绝对认为有更好的方法来做到这一点,而不是为每个 URL 执行步骤 1 和步骤 2。
非常感谢您对此的帮助和/或反馈。
> search.term <- "tour package"
> quotes <- "FALSE"
> search.url <- getGoogleURL(search.term=search.term, quotes=quotes)
> links <- getGoogleLinks(search.url)
> links <- gsub('/url\\?q=','',sapply(strsplit(links[as.vector(grep('url',links))],split='&'),'[',1))
> links
[1] "https://www.makemytrip.com/holidays-india/"
[2] "https://www.makemytrip.com/holidays-india/"
[3] "https://www.yatra.com/india-tour-packages"
[4] "http://www.thomascook.in/tcportal/international-holidays"
[5] "https://www.yatra.com/holidays"
[6] "https://www.travelguru.com/holiday-packages/domestic-packages.shtml"
[7] "https://www.chanbrothers.com/package"
[8] "https://www.tourmyindia.com/packagetours.html"
[9] "http://traveltriangle.com/tour-packages"
[10] "http://www.coxandkings.com/bharatdeko/"
[11] "https://www.sotc.in/india-tour-packages"
如果您希望有效地从多个 URL 中提取和计算关键字,这里有一个实现此目标的分步过程。无论您是处理几个 URL 还是批量列表,此方法都可以无缝运行。
URL 中的关键字通常可以在 URL 的路径段中找到。例如:
这里的关键词是“关键词提取技巧”。您希望隔离这些段,同时删除文件扩展名(例如,
.html
、.php
)和不必要的部分(例如查询参数或域名)。
对于初学者或想要现成解决方案的人,**[
[URL 中的关键字][1]
](https://keywordsfromurls.com/)** 是一个为此目的而设计的免费、用户友好的工具。使用方法如下:
如果您的目标是优化 URL,您可以在同一站点上使用 [[Slug Generator]]2。该工具通过以下方式将文本转换为 SEO 友好的 slugs:
要有效组织提取的关键字,请使用 [[关键字分组工具]]3。它:
提取关键词并对其进行分组后,分析它们在内容中的密度至关重要。 [[关键字密度工具]]4可以:
如果您正在处理大量 URL,请使用 Python 或其他编程语言自动化该过程。这是一个 Python 片段:
from urllib.parse import urlparse
urls = [
"https://example.com/blog/keyword-extraction-tips.html",
"https://example.com/guide/seo-tools.html"
]
def extract_keywords(url):
path = urlparse(url).path
keywords = path.strip("/").replace("-", " ").split("/")
return " ".join(keywords).replace(".html", "").replace(".php", "")
for url in urls:
print(extract_keywords(url))
[1]: https://keywordsfromurls.com/
[2]: https://keywordsfromurls.com/Slug-Generator.html
[3]: https://keywordsfromurls.com/keywords-grouping.html
[4]: https://keywordsfromurls.com/Keyword-Density-And-Wordcount-Tool.html