经过一段时间的python学习,能写出一些爬虫了。但是,遇到js动态加载的网页就犯了难。于是乎谷歌、百度,发现个好介绍http://www.jianshu.com/p/4fe8bb1ea984
主要就是分析网页的加载过程,从网页响应中找到JS脚本返回的JSON数据。(上边的网址介绍很详细,下边就直接贴代码,记录下)
1、今日头条的
#coding:utf-8 import requests import json #今日头条热词获取,get方法 url = 'http://www.toutiao.com/c/hot_words/' wbdata = requests.get(url).text data = json.loads(wbdata) news = data['data'] for n in news: print(n)
2、拉勾网的 post方法
#coding:utf-8 import requests import json url = 'https://www.lagou.com/upload/ltm/oss.html?u=/zhaopin/Java/&q=332&n=333&d=1126&l=1238&dns=15&p=2770&pi=46&qn=1252&t=1501835145909' post_data = {'first':'true','kd':'Android','pn':'1'} wbdata = requests.post(url,data=post_data)
data = json.loads(wbdata) print data
ip被封,返回json数据未能解析,有待后续。
爬取动态页面目前来说有两种方法
- 分析页面请求
- selenium模拟