Я пытаюсь очистить данные с этого веб-сайта, используя httr
и rvest
. После нескольких сканирований (около 90–100) веб-сайт автоматически переведет меня на другой URL-адрес с помощью captcha.
это обычный URL: "https://fs.lianjia.com/ershoufang/pg1"
это URL-адрес капчи: "http://captcha.lianjia.com/?redirect=http%3A%2F%2Ffs.lianjia.com%2Fershoufang%2Fpg1"
Когда мой паук переходит по URL-адресу капчи, он говорит мне остановиться и решить его в браузере. Потом решаю вручную в браузере. Но когда я запускаю паука и отправляю GET
запрос, паук по-прежнему переводится на URL-адрес капчи. Между тем в браузере все идет нормально, даже если я ввожу URL-адрес капчи, он вернет меня обратно на обычный URL-адрес в браузере.
Даже если я использую прокси, у меня все равно возникает та же проблема. В браузере я обычно могу просматривать веб-сайт, в то время как паук продолжает переходить на URL-адрес captcha.
Я размышлял,
- Правильно ли я использую прокси?
- Почему паук продолжает переноситься, а браузер - нет. Они с одного IP.
Спасибо.
Это мой код:
a <- GET(url, use_proxy(proxy, port), timeout(10),
add_headers('User-Agent' = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36',
'Connection' = 'keep-alive',
'Accept-Language' = 'en-GB,en;q=0.8,zh-CN;q=0.6,zh;q=0.4,en-US;q=0.2,fr;q=0.2,zh-TW;q=0.2',
'Accept-Encoding' = 'gzip, deflate, br',
'Host' = 'ajax.api.lianjia.com',
'Accept' = '*/*',
'Accept-Charset' = 'GBK,utf-8;q=0.7,*;q=0.3',
'Cache-Control' = 'max-age=0'))
b <- a %>% read_html %>% html_nodes('div.leftContent') %>% html_nodes('div.info.clear') %>%
html_nodes('div.title') %>% html_text()
Наконец, я обратился к RSelenium, он медленный, но никаких капч. Даже когда она появляется, я могу решить ее прямо в браузере.