之前我写过一遍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))
然后我们来看下打印结果: