python爬取豆瓣top电影,哪位可以看看代码有什么问题

哪位可以帮我看看代码有什么问题吗?
我尝试爬top100
可以为什么数据是空白的
代码运行是没有问题的

img

img

你复制出来。

大哥 我博客里写的清清楚楚 明明白白为嘛不看一下呢

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7608645
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:python 爬虫抓取猫眼电影 top100 源码
  • 除此之外, 这篇博客: 老程序如何python代码爬取豆瓣热度Top100以内的电影信息中的 什么是网络爬虫 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    简单的讲,网络爬虫就是模拟人访问web站点的行为来获取有价值的数据。专业的解释:百度百科

  • 以下回答来自chatgpt:

    问题原因: 问题出在对豆瓣电影TOP250网页的访问权限上。

    解决方案: 由于豆瓣网站对爬虫有一定的限制,需要进行登录验证才能访问。所以需要进行以下调整来解决问题:

    1. 使用requests.Session()建立一个会话对象,以便在多次请求中保持登录信息。
    2. 在会话对象中使用.get()方法发送初始请求,获取到login页面。
    3. 从login页面获取登录所需的验证码、验证码ID和其他必要的登录信息。
    4. 使用会话对象,以POST请求方式发送登录信息。登录成功后,会话对象将会保持登录状态。
    5. 使用会话对象发送电影列表页面的请求,获取到页面内容。
    6. 解析页面内容,获取电影信息。

    代码调整如下:

    # 导入所需的库
    import requests
    from bs4 import BeautifulSoup
    
    # 设置请求头,模拟浏览器访问
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
    }
    
    # 建立会话对象
    session = requests.Session()
    
    # 发送初始请求,获取login页面
    login_url = 'https://accounts.douban.com/login'
    login_response = session.get(login_url, headers=headers)
    login_soup = BeautifulSoup(login_response.text, 'html.parser')
    
    # 获取登录所需的验证码、验证码ID和其他必要的登录信息
    # 在login_soup中找到相关信息并进行处理
    
    # 构造登录post请求的数据
    payload = {
        # 填充登录所需的信息,如用户名、密码、验证码等
    }
    
    # 发送登录post请求
    session.post(login_url, headers=headers, data=payload)
    
    # 发送电影列表页面的请求
    url = 'https://movie.douban.com/top250'
    response = session.get(url, headers=headers)
    soup = BeautifulSoup(response.text, 'html.parser')
    
    # 解析页面内容,获取电影信息
    movies = soup.find_all('div', class_='item')
    for movie in movies:
        title = movie.find('span', class_='title').getText()
        print(title)
    

    注意事项: 1. 需要填充登录所需的相关信息,如用户名、密码、验证码等。使用Chrome开发者工具或Fiddler等工具观察登录豆瓣账号时的请求,可以获取到相关信息。 2. 为了简化问题描述和解决方案,本解决方案并未包含完整的填充登录信息的代码,需要根据个人环境和具体需求自行完成。 3. 在实际应用中,豆瓣网站可能会进行更新和调整,登录方式可能会有所变化。请根据最新的登录方式和请求参数进行调整。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^