帮忙解决程序{'code': -100, 'msg': 'ajax error'}错误问题,谢谢
我的程序为:import requests
import numpy
import json
from lxml import etree
import pandas as pd
url = 'https://odds.500.com/fenxi/ouzhi-831423.shtml'
header = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'
}
def find():
url = 'http://odds.500.com/fenxi1/json/ouzhi.php'
global cid
#cid = 1
def xy():
global cid
print(cid)
cid =
for i in cid:
header = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'
}
parmas = {
'fid':'831423',
'cid':i,
'r':'1',
}
print(i)
time.sleep(2)
response = requests.get(url,headers=headers,params=parmas)
result = response.text
josn_w = json.loads(result)
x = pd.DataFrame(josn_w,index=)
print(josn_w)
filename = r"D:\爬虫\20009\沃特福德vs南安普顿\{}.csv".format(i)
print(filename)
x.to_csv(filename, sep=',', header=True, index=False)
find() 本帖最后由 suchocolate 于 2020-11-17 17:14 编辑
根据你提供的“代码”,第一个url拿到的是html,不是json数据,第二个url加上params直接在浏览器也拿不到数据。
发代码请用<>。
告诉我们你是如何看到这个ajax请求的,我们好判断问题。 这是一个朋友写的,最早还是可以下载到数据的,现在就显示{'code': -100, 'msg': 'ajax error'}了 你这个代码看的真难受,下次请用论坛的代码功能插入代码。首先忽略你代码缩进问题,
一、代码中两个url,在浏览器看了一下,两个url请求响应的都是html,而不是json;
二、从你传的这三个参数来看,只有一个r参数是和浏览器传的一样,其他几个都和浏览器传的参数对不上;
三、你定义的是header,传的却是headers=headers?
请求第二个url就会得到{'code': -100, 'msg': 'ajax error'},应该是网站做了referer反爬(headers中加上rederer再去请求)
直接复制来的代码一般都是不可用的,只要是还在运营的网站,不可能长久不变,网站一改,你这代码就拿不到数据了,还不如自己分析自己写。 谢谢指导 fogeking 发表于 2020-11-19 09:39
谢谢指导
然后呢 suchocolate 发表于 2020-11-19 09:46
然后呢
老师能帮忙优化一下程序么,我QQ:892043476 fogeking 发表于 2020-11-27 13:44
老师能帮忙优化一下程序么,我QQ:892043476
没有qq,请用代码块<>贴出你的全部代码,你贴在1楼格式我们看不懂。 老师能帮忙写以下后面的代码,保存到一个EXCEL文件里面,谢谢
import selenium
from selenium import webdriver
import xlwt
import pandas as pd
wd = webdriver.Chrome(r'C:\Program Files\Google\Chrome\Application\chromedriver.exe')
wd.implicitly_wait(10)
wd.get('https://odds.500.com/fenxi/ouzhi-943896.shtml')
element = wd.find_element_by_xpath('//*[@id="293"]/td/table/tbody/tr/td').click()
wd.implicitly_wait(10)
element293 = wd.find_element_by_xpath('//*[@id="tip_oz"]/div/table/tbody')
print(element293.text) 老师 能给个联系方式 帮忙写一下代码么
页:
[1]