|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 北笙南鸢离 于 2023-10-11 07:57 编辑
- import requests
- # 爬取豆瓣top250的电影排行
- # 这里不能发链接 我就用url指代豆瓣电影top250的榜单了
- res = requests.get(url)
- print(res)
- # 输出 <Response [418]>
- print(res.text)
- # 没有显示输出结果
- # 仍然没有结果
- with open('douban.txt', 'w') as f:
- f.write(res.text)
复制代码
代码如上,想半天没想出来怎么回事,求教
问题分析:
根据提供的代码,发现获取豆瓣电影Top250榜单的请求返回了状态码418,这意味着请求被拒绝了。可能的原因是代码中没有设置请求头信息或者遇到了反爬机制。
解决方案:
1. 设置请求头信息:可以尝试设置User-Agent头信息,模拟浏览器发送请求。
- import requests
- url = 'https://movie.douban.com/top250'
- headers = {
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'
- }
- res = requests.get(url, headers=headers)
- print(res.status_code)
- print(res.text)
- with open('douban.txt', 'w', encoding='utf-8') as f:
- f.write(res.text)
复制代码
2. 使用Cookies:如果上述方法仍然无法成功获取数据,可以尝试使用Cookies来模拟登录状态。
- import requests
- url = 'https://movie.douban.com/top250'
- headers = {
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36',
- 'Cookie': 'your_cookie_value' # 替换为有效的Cookie值
- }
- res = requests.get(url, headers=headers)
- print(res.status_code)
- print(res.text)
- with open('douban.txt', 'w', encoding='utf-8') as f:
- f.write(res.text)
复制代码
请注意,以上代码仅作为参考,具体的请求头信息和Cookie值需要根据实际情况进行设置。另外,建议使用 encoding='utf-8'参数来指定文件编码,以免出现写入文件乱码问题。
希望能帮助到你!如有更多问题,请随时提问。
球一个最佳答案谢谢啦!这对我非常重要!  
|
|