python爬取豆瓣top250最基础操作

一、咱们先找到豆瓣主页,

地址:https://movie.douban.com/chart
在这里插入图片描述

二、分析网页属性,按F12或者鼠标右击检查即可进入开发者模式:

在这里插入图片描述

三、鼠标点击右上角的小箭头

在这里插入图片描述

四、找到我们想要的内容然后点击即可在右边的代码中定位,比如我这里点击到第一部电影的位置:

在这里插入图片描述

五、分析网页


我们需要找到电影的属性,属性自然包括电影序号、电影名称、评分、评论(推荐语)、电影链接等大概就是下面框内的属性,然后我们根据前面的方法定位到这些属性
在这里插入图片描述

六、书写代码

import requests
from bs4 import BeautifulSoup
#写一个循环来遍历每页的电影
for x in range(10):
    url='https://movie.douban.com/top250?start='+str(x*25)+'&filter='
    headers={
    
    
        'User-Agent':'Mozilla/5.0(Windows NT 10.0;WOW64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3823.400 QQBrowser/10.7.4307.400'
    }#注意头部信息必不可少,不然爬不到想要的信息,我们要习惯使用头部文件
    res=requests.get(url,headers=headers)
    bs=BeautifulSoup(res.text,'html.parser')
   # print(bs)
    #查找序列号,电影名称,电影连接的标签
    tag_num=bs.find_all('div',class_='item')
    tag_comment=bs.find_all('div',class_='star')
    #查找包含评分的div标签
    tag_word=bs.find_all('span',class_='inq')
    list_all=[]
    for x in range(len(tag_num)):
        if tag_num[x].text[2:5]=='' or tag_num[x].text[2:5]=='' or x>=len(tag_word):
            list_movie = [tag_num[x].text[2:5], tag_num[x].find('img')['alt'], tag_comment[x].text[2:5],
                          tag_num[x].find('a')['href']]
        else:
            list_movie = [tag_num[x].text[2:5], tag_num[x].find('img')['alt'], tag_comment[x].text[2:5],
                          tag_word[x].text, tag_num[x].find('a')['href']]
            list_all.append(list_movie)
print(list_all)
            #此处引号内填写没有序列号的电影

七、运行代码
在这里插入图片描述
我这里应该是循环出错了,只得到了一个页面的数据,哪位大哥有方法了可以评论一下我,小弟不胜感激。

猜你喜欢

转载自blog.csdn.net/liuxiaobao666/article/details/110525971