猫史档案馆


大众点评爬虫方案

用户:LaicalLaical查看:0 回复:0 评论:0 创建时间:2020-11-04T17:30:43


使用语言:

JAVA

使用框架:

Jsoup

使用准备:

大众点评,饿了么,美团这些APP反爬策略很严格,需要设置HTTP代理和随机UA优化才可以采集数据,亿牛云代理客服可以提供真实随机UA

IP设置:

import java.io.IOException; import java.net.Authenticator; import java.net.InetSocketAddress; import java.net.PasswordAuthentication; import java.net.Proxy; 
import org.jsoup.Jsoup; import org.jsoup.nodes.Document; 

public class Demo {  // 代理验证信息  final static String ProxyUser = "username";  final static String ProxyPass = "password"; 
 // 代理服务器(产品官网 www.16yun.cn)  final static String ProxyHost = "t.16yun.cn";  final static Integer ProxyPort = 31111;

使用随机UA:

请求网站时加上随机UA

Mozilla/5.0 (Windows NT 6.1; Win喵; x喵) AppleWebKit/537.36 (KH喵L, like Gecko) Chrome/78.0.3322.104 Safari/537.36 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.19 (KH喵L, like Gecko) Chrome/18.0.1025.166 Safari/535.19 Mozilla/5.0 (X11; Linux x86_喵) AppleWebKit/537.36 (KH喵L, like Gecko) Chrome/70.0.1892.11 Safari/537.36 Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_8_4 rv:2.0; tr-TR) AppleWebKit/534.37.6 (KH喵L, like Gecko) Version/4.0.4 Safari/534.37.6 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KH喵L, like Gecko) Chrome/83.0.4103.116 Safari/537.36

用户cook登陆:

可以设置IP随机数获取cookies,保存cookies,使用cookie登陆

 # 访问三次网站,使用相同的Session(keep-alive),均能够保持相同的外网IP  s = requests.session() 
 # 设置cookie  cookie_dict = {"JSESSION":"123456789"}  cookies = requests.utils.cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True)  s.cookies = cookies 
 for i in range(3):  for url in targetUrlList:  r = s.get(url, proxies=proxies)  print r.text

爬虫异常处理:

// 处理异常、其他参数  Document doc = Jsoup.connect(url).timeout(3000).header(ProxyHeadKey, ProxyHeadVal).proxy(proxy).get(); 
 if(doc != null) {  System.out.println(doc.body().html());  }  }  catch (IOException e)  {  e.printStackTrace();  } 
 return null;  } 
 public static void main(String[] args) throws Exception  {

大众点评数据采集和储存:

存储店铺数据,利用MongoDB数据库设置


回复

上一页1 页 / 共 0下一页