然后我的代码是这样的
import urllib.request, urllib.error
import re
from bs4 import BeautifulSoup
import xlwt
def main():
baseurl = "https://movie.douban.com/top250?start="
# 1.爬取网页
datalist = getData(baseurl)
savepath = ".\\豆瓣电影Top250.xls"#一个 . 表示保存在当前文件夹,加\\表示当前的位置
#3.保存数据
#saveData(savepath)
#askURL("https://movie.douaban.com/top250?start=0")
#爬取网页
def getData(baseurl):
datalist = []#列表
for i in range(0,10):
url = baseurl + str(i*25)
html = askURL(url) #保存获取到的网页源码
#逐一解析数据
return datalist
#得到指定一个指定url的网页内容
def askURL(url):
head = { # 模拟浏览器头部信息,向豆瓣服务器发送消息
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36"
}
# 用户代理,表示告诉豆瓣服务器,我们是什么类型的机器、浏览器(本质上是告诉浏览器,我们可以接收什么水平的文件内容)
request = urllib.request.Request(url, headers=head)
html = ""
try:
response = urllib.request.urlopen(request)
html = response.read().decode("utf-8")
except urllib.error.URLError as e:
if hasattr(e,"code"):
print(e.code)
if hasattr(e,"reason"):
print(e.reason)
#return html
#保存数据
def saveData(savepath):
print("save.....")
if __name__ == "__main__":
main()# 当程序执行时
# 函数调用