2017-07-14 7 views
1

サイトをクロールしています。元のデータにテキスト(リンク)を追加する方法はありますか?

リンクが正しくありません。 ページが開かない。

だから私は、元のデータ

それとも私が思うよりも良い方法があるにリンクを追加したいです。

-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&section=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) 
+0

あなたが持っている文字列(Http://〜naver.com)でURLを文字列に変換してください。出力を保存し、必要なリストに追加します。文字列を実行する前にそれを行うのはさらに賢明でしょう。 URLを追加しない場合は、URLに "http ..."が含まれているかどうかを確認できます。私はコードを書いて回答を投稿しますが、私はRについては考えていません。 – hansTheFranz

+0

私はRを知っていますが、あなたがしたいことを理解できませんでした。私が理解できるように、期待される成果などを提供できますか? –

+0

@F.Privé[email protected]ここにメールを送ることはできますか? (詳細な説明、実行ファイル...)許可を与えたら、2時間以内にメールを送信します。 – koko

答えて

0

あなたがforloop前article.links <- paste0("http://kin.naver.com", article.links)を追加した場合、これは(ランニング)を動作するようです。

+0

Thankaあなたありがとうございます!!!!!!! – koko

関連する問題