之前学过python的爬虫技术,现在回顾一下看看还会不会,果然有坑。
先爬取了微博评论网友的id
代码如下
import requests
url = ‘https://m.weibo.cn/api/comments/show?id=4188633986790962&page=6
h = requests.get(url)
print(h.json()[‘data‘][‘data‘][0][‘user‘][‘id‘])
执行的时候报错
Traceback (most recent call last):
File "e:/personal/vscode/pameinv.py", line 9, in <module>
print(a())
File "e:/personal/vscode/pameinv.py", line 8, in a
return html.json()
File "D:\python\Python37\lib\site-packages\requests\models.py", line 897, in json
return complexjson.loads(self.text, **kwargs)
File "D:\python\Python37\lib\json__init__.py", line 348, in loads
return _default_decoder.decode(s)
File "D:\python\Python37\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "D:\python\Python37\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
于是开始各种调试 最后换了一个地址行了,可能是微博的api不让调用了
于是修改了一下程序
import requests
url = ‘http://www.yy.com/api/yyue-spot-news‘
h = requests.get(url)
for j in range(len(h.json()[‘data‘])):
print(h.json()[‘data‘][j][‘id‘]) #这里有缩进
print里的内容是根据网页里的相应信息而定的
最后运行了一下 成功显示了主播的id
原文地址:https://blog.51cto.com/13670314/2369528