■试过的方法
分别用过模拟浏览器webdriver.chrome和request的方法,代码和结果在最下。
■怀疑的反爬虫策略
模拟浏览器法头一次程序进去后能打开网站。但是再进时,被检测到使用ROBOTS程序后重定向至下述网址。之后能用Safari,或正常的chrome打开,没有被禁IP。
结合网址的描述,怀疑该网站是通过cookie限制来反爬虫的。
【webdriver.chrome时候的重定向】
http://www.homes.co.jp/distil...
■代码
【模拟浏览器法】
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('user-agent=ozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36')
driver = webdriver.Chrome(chrome_options=options)
driver.implicitly_wait(30)
driver.get('http://www.homes.co.jp/mansion/chuko/list/')
cookies=driver.get_cookies()
print(cookies)
【模拟浏览器法结果】
第一次能进去,之后被重定向。返回的cookie为空。
【request法】
import requests
header={'user-agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36'}
conn = requests.session()
conn.get('http://www.homes.co.jp/mansion/chuko/list/',headers=header)
resp = conn.get('http://www.homes.co.jp/mansion/chuko/list/',headers=header)
print(resp.text)
【request结果】
(function(window){
try {
if (typeof sessionStorage !== 'undefined'){
sessionStorage.setItem('distil_referrer', document.referrer);
}
} catch (e){}
})(window);