python - Python 请求 - 使用 twitter 搜索
问题描述
我正在尝试使用请求从 twitter 获取数据,但是当我运行我的代码时出现此错误:simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
到目前为止,这是我的代码:
import requests
url = 'https://twitter.com/search?q=memes&src=typed_query'
results = requests.get(url)
better_results = results.json()
better_results['results'][1]['text'].encode('utf-8')
print(better_results)
解决方案
因为您正在向dynamic
网站发出请求。
当我们向动态网站发出请求时,我们必须首先呈现 html 以便接收我们期望接收的所有内容。
仅仅提出请求是不够的。
其他库,例如requests_html
使用lite browser
.
你可以试试这段代码:
# pip install requests_html
from requests_html import HTMLSession
url = 'https://twitter.com/search?q=memes&src=typed_query'
session = HTMLSession()
response = session.get(url)
# rendering part
response.html.render(timeout=20)
better_results = response.json()
better_results['results'][1]['text'].encode('utf-8')
print(better_results)
推荐阅读
- amazon-web-services - EC2 EMR 未执行问题 spark-submit not found
- c# - ASP.NET MVC 重定向最佳实践
- node.js - Passport SerializeUser 被多次调用
- c# - 你如何在xaml的listview中拉伸图像?
- r - data.table 与 dplyr 不同
- sql - 有 CASE 语句时,ROLLUP 行无法正确求和
- mqtt - Mosquitto-Auth 插件没有用客户端 ID 替换 ACL 中的 %c
- mysql - 为什么这个 CASE 运算符不工作?
- excel - 如何通过 VBA 将信息从一个工作簿复制到另一个工作簿?
- visual-studio - 阻止执行代码审查等的 Visual Studio 版本控制错误