博主您好!
学习您这篇博客【python爬虫】5.爬虫实操(歌词爬取)遇到些问题,希望您能解答。
1、
包含数据的请求已将已将请求方式改为了post,其中URL的内容只有简单的一行数据
URL对应内容:
然后看了您下一篇博客【python爬虫】6.爬虫实操(带参数请求数据) 去使用post方法获取json数据时,也遇到了一些问题
2、
在负载中,查询字符串参数好像做了加密,而且那个表单数据参数也是一坨。
将参数传到requests中后,运行的结果仍是上面那个结果
我实在是没有办法解决这些问题,希望能得到您的帮助。
你好,老铁。 我试了一下,你的操作没有任何问题,只是现在这个网站的策略改了,直接这样请求不到了。
你可以尝试用Selenium 来试一下,是可以的。
另外,也可以找一些其他网站,加密没这么严格的,来练练手。
【以下回答由 GPT 生成】
问题解答:
首先,关于使用post方法获取更多数据的问题,下面是一个使用post方法发送请求,并获取返回数据的示例代码:
import requests
url = 'https://example.com' # 替换成你要请求的URL
data = {'key1': 'value1', 'key2': 'value2'} # 替换成你要发送的数据
response = requests.post(url, data=data)
print(response.text) # 打印返回的数据
在上面的代码中,你需要将url
替换为你要请求的URL,并将data
替换为你要发送的数据。使用requests.post
方法发送post请求,并将返回的响应对象赋值给response
变量。通过response.text
可以获取到返回的数据。
关于查询字符串参数加密和表单数据参数的问题,可以尝试使用params
参数和data
参数来传递参数。下面是一个示例代码:
import requests
url = 'https://example.com' # 替换成你要请求的URL
params = {'key1': 'value1', 'key2': 'value2'} # 替换成你要发送的查询字符串参数
data = {'key3': 'value3', 'key4': 'value4'} # 替换成你要发送的表单数据参数
response = requests.get(url, params=params, data=data)
print(response.text) # 打印返回的数据
在上面的代码中,使用params
参数来传递查询字符串参数,使用data
参数来传递表单数据参数。根据具体情况,你可以选择使用get
方法或post
方法来发送请求。
如果你仍然得到与之前相同的结果,可能是因为参数传递有误或者请求的URL与预期不符。你可以检查一下参数是否正确,并根据实际情况调整请求的URL。
希望以上解答能够帮助到你,如果还有其他问题,请随时提问。
【相关推荐】