Python requests爬取百度招聘信息过程json解析错误问题求助

爬取百度招聘信息时json解析报错:

import requests
from bs4 import BeautifulSoup
import json

headers={

'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36',
'Refer':'http://zhaopin.baidu.com/quanzhi?tid=4139&ie=utf8&oe=utf8&query=%E8%BF%9C%E4%B8%9C',
'Host':'zhaopin.baidu.com',
'Connection':'keep-alive',

}

params={

'query':'百度',
'rn':20,
'pn':100,

}
r=requests.get('http://zhaopin.baidu.com/api/...',params=params,headers=headers,timeout=5)
r.encoding=r.apparent_encoding
soup=BeautifulSoup(r.text,'lxml')
result_json=json.loads(soup.find('p').get_text())
print(result_json)

报错信息如下:
Traceback (most recent call last):
File "E:/百度招聘爬虫/test.py", line 20, in <module>

result_json=json.loads(soup.find('p').get_text())

File "C:python3libjson__init__.py", line 354, in loads

return _default_decoder.decode(s)

File "C:python3libjsondecoder.py", line 339, in decode

obj, end = self.raw_decode(s, idx=_w(s, 0).end())

File "C:python3libjsondecoder.py", line 355, in raw_decode

obj, end = self.scan_once(s, idx)

json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 883 (char 882)

而前几页(pn=0,20,40...)均正常,求帮助,谢谢!

阅读 3.7k
2 个回答

返回结果本来就是个json,你为什么还要拿bs解析呢?直接json.loads(xx)不行么?

新手上路,请多包涵

用pyspider 玩爬虫,返回一个json数组,然后json.loads(response)结果也报了这个错误,上不明确具体是什么原因

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题