python爬虫实战项目之爬取豆瓣最受欢迎的250部电影

python爬虫实战项目之爬取豆瓣最受欢迎的250部电影

主要思路,请求豆瓣的链接获取网页源代码

然后使用 BeatifulSoup 拿到我们要的内容

最后就把数据存储到 excel 文件中

主要思路,请求豆瓣的链接获取网页源代码

然后使用 BeatifulSoup 拿到我们要的内容

最后就把数据存储到 excel 文件中

项目源码分享

 1 '''
 2 在学习过程中有什么不懂得可以加我的
 3 python学习交流扣扣qun,934109170
 4 群里有不错的学习教程、开发工具与电子书籍。
 5 与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容。
 6 '''
 7  
 8 import requests
 9 from bs4 import BeautifulSoup
10 import xlwt
11  
12  
13 def request_douban(url):
14     try:
15         response = requests.get(url)
16         if response.status_code == 200:
17             return response.text
18     except requests.RequestException:
19         return None
20  
21  
22 book = xlwt.Workbook(encoding='utf-8', style_compression=0)
23  
24 sheet = book.add_sheet('豆瓣电影Top250', cell_overwrite_ok=True)
25 sheet.write(0, 0, '名称')
26 sheet.write(0, 1, '图片')
27 sheet.write(0, 2, '排名')
28 sheet.write(0, 3, '评分')
29 sheet.write(0, 4, '作者')
30 sheet.write(0, 5, '简介')
31  
32 n = 1
33  
34  
35 def save_to_excel(soup):
36     list = soup.find(class_='grid_view').find_all('li')
37  
38     for item in list:
39         item_name = item.find(class_='title').string
40         item_img = item.find('a').find('img').get('src')
41         item_index = item.find(class_='').string
42         item_score = item.find(class_='rating_num').string
43         item_author = item.find('p').text
44         if (item.find(class_='inq') != None):
45             item_intr = item.find(class_='inq').string
46  
47         # print('爬取电影:' + item_index + ' | ' + item_name +' | ' + item_img +' | ' + item_score +' | ' + item_author +' | ' + item_intr )
48         print('爬取电影:' + item_index + ' | ' + item_name + ' | ' + item_score + ' | ' + item_intr)
49  
50         global n
51  
52         sheet.write(n, 0, item_name)
53         sheet.write(n, 1, item_img)
54         sheet.write(n, 2, item_index)
55         sheet.write(n, 3, item_score)
56         sheet.write(n, 4, item_author)
57         sheet.write(n, 5, item_intr)
58  
59         n = n + 1
60  
61  
62 def main(page):
63     url = 'https://movie.douban.com/top250?start=' + str(page * 25) + '&filter='
64     html = request_douban(url)
65     soup = BeautifulSoup(html, 'lxml')
66     save_to_excel(soup)
67  
68  
69 if __name__ == '__main__':
70  
71     for i in range(0, 10):
72         main(i)
73  
74 book.save(u'豆瓣最受欢迎的250部电影.xlsx')

代码运行截图

生成了一个 excel 文件

猜你喜欢

转载自www.cnblogs.com/xiaoyiq/p/11386828.html