python爬虫第6关项目存储电影信息

问题需求就是把豆瓣TOP250里面的 序号/电影名/评分/推荐语/链接 都爬取下来,结果是存储在csv和Excel中

import requests
from bs4 import BeautifulSoup
import openpyxl
import csv

wb=openpyxl.Workbook()
sheet=wb.active
sheet.title='movies'
sheet['A1']='序号'
sheet['B1']='电影名'
sheet['C1']='评分'
sheet['D1']='推荐语'
sheet['E1']='电影链接'

csv_file=open('movies.csv','w',newline='',encoding='gbk')
writer=csv.writer(csv_file)
writer.writerow(['序号','电影名','评分','推荐语','电影链接'])

for i in range(0,250,25):
    res=requests.get('https://movie.douban.com/top250?start={}'.format(i))
    html=res.text 
    soup=BeautifulSoup(html,'html.parser')
    items=soup.find_all('div',class_="item")

    for item in items:
        num=item.find("em").text
        name=item.find(class_="title").text
        rating=item.find(class_="rating_num").text
        try:
                commend=item.find(class_='inq').text
        except AttributeError:
                commend=''
        href=item.find(class_="hd").find('a')['href']
        sheet.append([num,name,rating,commend,href])
        writer.writerow([num,name,rating,commend,href])
wb.save('movies.xlsx')
csv_file.close()
        

Mac的encoding是’gbk’,其他系统可能是’utf-8’

你可能感兴趣的:(python基础及爬虫)