Jsoup抓取维普期刊状态403+页面内AJAX再次请求+获取数据超时为空

Shaka 17天前 ⋅ 32 阅读

1.网站正常访问,jsouP访问403.

添加head头文件或者cookie尝试

conn.header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
conn.header("Accept-Encoding", "gzip, deflate, sdch");
conn.header("Accept-Language", "zh-CN,zh;q=0.8");
conn.header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36");


2.页面内再次请求,先请求连接后获取必要参数,再次请求

Connection con = Jsoup.connect("http://qikan.cqvip.com"+url).timeout(50000);
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxx
Document doc = con.get();

Elements a = doc.getElementsByAttributeValue("gch", gch);
JSONObject journalArticalInfoModel = new JSONObject();
journalArticalInfoModel.put("gch",gch);
Connection conn = Jsoup.connect("http://qikan.cqvip.com/Journal/RightArticle").timeout(50000);
Element element = conn.post()


3.获取Element有时为空

有时是网络的问题,每次执行结果都不一样,有时这个连接可以获取到数据,有时又获取不到,

为空时递归重新获取即可获取到

4.抓取维普期刊时,最好设置等待时间,不要一直跑下去,否则IP会被封停一天.


注意:本文归作者所有,未经作者允许,不得转载

全部评论: 0

    我有话说: