php外挂python脚本抓取ajax数据
之前我写过一遍php外挂python脚本处理视频的文章。今天和大家分享下php外挂python实现输入关键字搜索的脚本
首先我们先来分析一波网站:
我们可以看到,普通的抓取网站已经不能满足我们的需求了。此网站采用了二次获取数据。我们再来看看头部;
可以看到数据是通过ajax获取的。我们吧拿到的链接放到浏览器直接打开报错了。有些网站是直接拿到链接就能获取数据,但是明显,这个接口采用post接口请求
我们先来请求一波:
代码走起:
# -*- coding: utf-8 -*- # @Time : 2019/9/4 14:43 # @Author : wujf # @Email : 1028540310@qq.com # @File : 爬取ajax数据.py # @Software: PyCharm ''' json.loads(json_str) json字符串转换成字典 json.dumps(dict) 字典转换成json字符串 ''' import requests import json url = "http://nddb.ic361.cn:8080/proc/getrows/dp_cloudprice_gets" seach = input("请输入您要搜索的内容:") list = ['507786','14922','-1'] list.append(seach) d = { 'token':'A0E5CD90-ECE4-440C-8B39-084C0FE61E69', 'uid':'507786', 'mycoid':'14922', 'con':'15', 'a':list }
果然能得到数据。
接下来就好办了:
上代码--------
import requests import json import sys url = "http://nddb.ic361.cn:8080/proc/getrows/dp_cloudprice_gets" seach = sys.argv[1] #seach1 = sys.argv[2] #item = seach+'-'+seach1 # with open(r'D:\\phpStudy_server\\PHPTutorial\\WWW\\demo\\log.txt','a') as f: # try: # f.write(seach) # except Exception as e: # print(e) # seach = input("请输入您要搜索的内容:") list = ['507786','14922','-1'] list.append(seach) d = { 'token':'A0E5CD90-ECE4-440C-8B39-084C0FE61E69', 'uid':'507786', 'mycoid':'14922', 'con':'15', 'a':list } r = requests.post(url,data=d) dic = r.json() print(json.dumps(dic))
然后我们来看下打印结果:
龙卷风之殇