使用用户代理进行网页搜集,以避免被网站阻止

时间:2020-04-15 02:23:13

标签: r web-scraping

我在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()

谢谢!

0 个答案:

没有答案