[問題] 爬蟲問題

作者: x9060000456 (你好)   2017-06-29 02:01:00
- 問題: 新手想詢問crawler基本問題。
[軟體熟悉度]:
對於R crawler接觸甚短, 並不扎實, 基本上都是依照版上的例子依樣畫葫蘆,
但如果抓取網頁不同時, 立即碰壁.
[問題敘述]:
目前想抓取的資料為巴哈姆特文章做練習, 但因為html不太熟, 因而請教
版上各位大神.
[程式範例]:
## 目標是想抓某手機遊戲巴哈哈拉區的20個頁面中每個標題內的文章內容,
## 目前先只以第一個頁面進行練習, 以下是我寫的極短code,
require(xml2)
library(XML)
library(httr)
result.urls <- 'https://forum.gamer.com.tw/B.php?page=1&bsn=26742'
html.page = read_html(url(result.urls[1]))
xpath = "//*[@class='FM-blist3']/a"
target = xml_find_all(html.page, xpath)
title = xml_text(target)
download.url = unlist(xml_attr(target, "href"))
page.info = data.frame(title=title, url=download.url, stringsAsFactors = F)
## 這邊成功抓取該頁面的每個標題與url, 但接下來就不會直接使用page.info的
## 第二個column(url)抓取內文, 比如page.info[1, 2], 因而又按F12重新搜尋url
url1 <- '/C.php?bsn=26742&amp;snA=32159"'
html <- htmlParse(GET('https://forum.gamer.com.tw', path = url1),
encoding = 'UTF-8')
doc <- xpathSApply(html, "//*[@id='BH-master']/div[4]", xmlValue)
## 以上code執行也沒有出現error,
## 並且GET('https://forum.gamer.com.tw', path = url1)執行結果看起來也正常
## 但是doc <- xpathSApply(html, "//*[@id='BH-master']/div[4]", xmlValue)
## 的結果卻是NULL.
因此主要想請問各位大大兩個問題,
第一, 如何直接使用抓到的url放進到htmlParse,
第二, 請問doc <- xpathSApply(html, "//*[@id='BH-master']/div[4]", xmlValue)
這個步驟該如改進, 進而得到內文呢? 而不是空值.
謝謝各位大大耐心地看完!
這個function

Links booklink

Contact Us: admin [ a t ] ucptt.com