【根据博友们的反馈,博主用python3重新写了一遍,并做了一些改进,点击查看python爬取豆瓣Top250-改进版】
最近老师布置了个作业,爬取豆瓣top250的电影信息。按照套路,自然是先去看看源代码了,一看,基本的信息竟然都有,心想这可省事多了。简单分析了下源代码,标记出所需信息的所在标签,ok,开始干活!
鉴于正则表达式的资料已经看了不少,所以本次除了beautifulsoup外,还有些re的使用,当然,比较简单。而爬到信息后,以往一般是存到txt文件,或者数据库中,老是重样的操作,难免有些‘厌倦’。心想,干嘛不存到Excel表呢?对啊,可以存到Excel表嘛。。。
环境准备:pip install openpyxl (假设你已配好了python环境)
好了,废话少说,上代码。
# coding=UTF-8
'''
function:爬取豆瓣top250的电影信息,并写入Excel文件
'''
import requests
import re
from openpyxl import workbook # 写入Excel表所用
from openpyxl import load_workbook # 读取Excel表所用
from bs4 import BeautifulSoup as bs
import os
os.chdir('C:\Users\Administrator\Desktop') # 更改工作目录为桌面
def getHtml(src):
html = requests.get(src).content
getData(html, src) # 首页链接和其他页不同,所以单独获取信息
urls = re.findall('href="(.*filter=?)', html) # re获取获取跳转链接的href
for u in range(len(urls) - 2): # 匹配到的跳转链接最后两个重复,需去掉
next_url = 'https://movie.douban.com/top250&#