mayrockid
mayrockid
采纳率100%
2019-11-27 18:41

为什么我用Python抓不到豆瓣电影的信息?

5
已采纳

图片说明

如图所示

状态码418是什么啊?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 2年前

    加上user-agent看看
    你被服务器判断为非法爬虫而不是真实请求了。

    点赞 评论 复制链接分享
  • weixin_45081575 SunriseCai 2年前

    你好,**418** 为 客户端错误状态码

    你的问题是出现在没有添加请求头。如下,返回的状态码即为**200**

    import requests
    
    headers = {
        'user-agent': 'Mozilla/5.0'
    }
    resp = requests.get('https://movie.douban.com/top250', headers=headers)
    print(resp.status_code)    # 返回状态码200
    
    点赞 评论 复制链接分享
  • hjue 多鱼的夏天 1月前

    给你一段完全可用的代码,使用前需要安装requests和beautifulsoup4

    pip install requests
    pip install beautifulsoup4

    下面的代码可以得到《肖申克的救赎》这部电影演员名称以及人物照片链接

    import requests
    import re
    from bs4 import BeautifulSoup
    url = 'https://movie.douban.com/subject/1292052/'
    ua = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Safari/605.1.15'
    page = requests.get(url, headers={'User-Agent': ua})
    soup = BeautifulSoup(page.text, 'html.parser')
    [print(row.find('a')['title'], re.search(r'http[^\)]*', row.find('a').find('div')
                                             ['style']).group()) for row in soup.find_all('li', 'celebrity')]
    
    点赞 评论 复制链接分享