Python爬虫-爬取豆瓣电影TOP250

之前挖的动态网页爬虫坑一直没有填,现在也不想填。。。

碰巧看到了这篇教程,就学习了一下。

这次就不加详细注释了,只加部分说明性的注释。有不懂的地方可以联系我。

欢迎各位访问我的个人博客:http://jmbaozi.top/

我将获得的结果写入了txt文件中

  • 代码下载
  • txt下载

这只实现了获取电影名称的功能,后续再写评分、评论什么的(又挖坑。。。)

我在第一个博客中写了爬取静态网页图片的代码,其中用BeautifulSoup对总页数进行了解析,共44页,其实这一步是多余的,因为可以很清晰的看到一共就44页。。。
所以这次我直接循环10次来爬这10页的电影名。

完整代码

"""
https://movie.douban.com/top250?start=0&filter=
"""

import re,requests,lxml
from bs4 import BeautifulSoup
def get_movies():
    movies_list = []
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.26 Safari/537.36 Edg/81.0.416.16',
        'Host':'movie.douban.com'
    }
    for i in range(0,10):
        link = 'https://movie.douban.com/top250?start=' + str(i*25) + '&filter='    #从网址中可以很明显的发现,'start='的结果为i*25
        r = requests.get(link,headers=headers,timeout = 10)     #获得当前页的html内容
        soup = BeautifulSoup(r.text,'lxml')     #对当前页的内容进行解析
        div_list = soup.find_all('div',class_='hd')
        for each in div_list:
            #movie = re.findall("(.*?)",each.text).strip()
            movie = each.a.span.text.strip()    #获取电影名,并清除多余的空格
            movies_list.append(movie)
    return movies_list

movies = get_movies()
print(movies)

#将movies列表写入 豆瓣电影TOP250.txt
number = 1      #排名
file = open('E:\\blog\\program\\豆瓣TOP250.txt','w')
for each in movies:
    file.write(str(number)+':'+each)
    file.write('\n')
    number+=1
file.close()
print('写入完成!')
    

Python爬虫-爬取豆瓣电影TOP250_第1张图片


你可能感兴趣的:(Python爬虫-爬取豆瓣电影TOP250)