今天在爬my电影评分时发现访问被控制,但浏览器依旧能访问,查阅后得知因为java程序与浏览器访问不同,一些采取了简单采反爬虫机制的网站可以拒绝这些小爬虫的访问。my电影也用了不少反爬虫策略,比如说票房、评分人数都转换了编码让你不好直接爬取,但我目前不需要那一部分。
在给java程序设置了User-Agent后便能进行爬取(想要爬取的放慢点速度吧。。双方互相都体谅一下)
URL realUrl=new URL(url);
//初始化一个链接到那个url的连接
URLConnection connection=realUrl.openConnection();
//设置User-Agent 加上下面这句后便可进行爬取
connection.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");//开始实际的连接
connection.connect();