サイトをクロールしています。元のデータにテキスト(リンク)を追加する方法はありますか?
リンクが正しくありません。 ページが開かない。
だから私は、元のデータ
それとも私が思うよりも良い方法があるにリンクを追加したいです。
-Ex-
[[間違ったアドレス]]
/qna/detail.nhn?d1id=7 & dirId = 70111良い方法があれば私に知らせてください& DOCID = 280474152
[[あなたは]を追加したいテキスト]
は、私は(私のコードの前にアドレスを追加したいと思います#速報URL)
のHttp://〜naver.com
library(httr)
library(rvest)
library(stringr)
# Bulletin URL
list.url = 'http://kin.naver.com/qna/list.nhn?m=expertAnswer&dirId=70111'
# Vector to store title and body
titles = c()
contents = c()
# 1 to 10 page bulletin crawling
for(i in 1:10){
url = modify_url(list.url, query=list(page=i)) # Change the page in the bulletin URL
h.list = read_html(url, encoding = 'utf-8') # Get a list of posts, read and save html files from url
# Post link extraction
title.link1 = html_nodes(h.list, '.title') #class of title
title.links = html_nodes(title.link1, 'a') #title.link1 to a로
article.links = html_attr(title.links, 'href')
#Extract attrribute
for(link in article.links){
h = read_html(link) # Get the post
# title
title = html_text(html_nodes(h, '.end_question._end_wrap_box h3'))
title = str_trim(repair_encoding(title))
titles = c(titles, title)
# content
content = html_nodes(h, '.end_question .end_content._endContents')
## Mobile question content
no.content = html_text(html_nodes(content, '.end_ext2'))
content = repair_encoding(html_text(content))
## Mobile question content
## ex) http://kin.naver.com/qna/detail.nhn?d1id=8&dirId=8&docId=235904020&qb=7Jes65Oc66aE&enc=utf8§ion=kin&rank=19&search_sort=0&spq=1
if (length(no.content) > 0)
{
content = str_replace(content, repair_encoding(no.content), '')
}
content <- str_trim(content)
contents = c(contents, content)
print(link)
}
}
# save
result = data.frame(titles, contents)
あなたが持っている文字列(Http://〜naver.com)でURLを文字列に変換してください。出力を保存し、必要なリストに追加します。文字列を実行する前にそれを行うのはさらに賢明でしょう。 URLを追加しない場合は、URLに "http ..."が含まれているかどうかを確認できます。私はコードを書いて回答を投稿しますが、私はRについては考えていません。 – hansTheFranz
私はRを知っていますが、あなたがしたいことを理解できませんでした。私が理解できるように、期待される成果などを提供できますか? –
@F.Privé[email protected]ここにメールを送ることはできますか? (詳細な説明、実行ファイル...)許可を与えたら、2時間以内にメールを送信します。 – koko