我在https://www.techpowerup.com/gpu-specs/上用R编写了一个网络抓取代码。
我尝试使用Sys.sleep()
来避免检测。
但是每次我只能抓取40行数据,现在却被网站完全封锁了。
我用谷歌搜索了如何解决这个问题。许多人建议使用用户代理来解决问题,例如
'Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25'
我的问题是应该使用哪个函数(或应该在哪里添加参数)来更改用户代理?
我的网页抓取代码如下:
path_1 = 'https://www.techpowerup.com/gpu-specs/?mfgr='
page_path = paste(path_1, manufacturer[1], sep='') # change 1 to i
path_2 = '&released='
page_path = paste(page_path, path_2, sep='')
page_path = paste(page_path, releasedate[1], sep='') # change 1 to j
path_3 = '&sort=name'
page_path = paste(page_path, path_3, sep='') # GPU list webage
# ---------------GPU list---------------
download.file(page_path, destfile = , quiet=TRUE)
Sys.sleep(5)
webpage = read_html("")
node_name = paste('.vendor-', manufacturer[1], sep='') # change 1 to i
gpu_data <- webpage %>%
html_nodes('.processors') %>% html_nodes(node_name) %>%
html_text()
谢谢!