# 爬取豆瓣电影Top250的10页网页,每页保存在一个.txt文件中,文件在"step1/webpages"文件夹中。 # 注意把爬取的网页保存在文件中,后面分析用,不要重复多次爬取,防止IP被封。 # 请勿修改已有的代码 import requests import os import shutil url='https://movie.douban.com/top250?start=' def getPage(url, i): try: ## 请在下面补充代码,完成网页代码获取及保存为txt文件。需要完成: # 1、构造完整的网页 url # 2、模拟浏览器头部信息 # 3、获取响应信息 r # 4、构造完整的保存目录及文件名 path,如:step1/webpages/page0.txt 等 # ********* Begin *********# # ********* end *********# if not os.path.exists(path): # path 为上面代码生成的文件路径及名称 with open(path, 'wb') as f: f.write(r.content) # r 调用request库的get()方法获取的响应信息 print('文件保存成功!') f.close() except: print('爬取失败!') def main(): # 清理webpages文件夹中原有文件 fileset = os.listdir('step1/webpages') for f in fileset: if 'page' in f: os.remove(os.path.join('step1/webpages', f)) for i in range(10): getPage(url, i) #调用爬取网页的函数 # 调用main()函数 main()
时间: 2024-01-17 10:27:06 浏览: 136
# 已有代码,请勿修改
import requests
import os
import shutil
url = 'https://movie.douban.com/top250?start='
def getPage(url, i):
try:
# 构造完整的网页 url
url = url + str(i*25) + '&filter='
# 模拟浏览器头部信息
header = {'User-Agent':'Chrome/81.0.4044.138 Safari/537.36'}
# 获取响应信息 r
r = requests.get(url, headers=header)
# 构造完整的保存目录及文件名 path
path = 'step1/webpages/page' + str(i) + '.txt'
# 保存文件
if not os.path.exists(path):
with open(path, 'w', encoding='utf-8') as f:
f.write(r.text)
print('文件保存成功!')
f.close()
except:
print('爬取失败!')
def main():
# 清理webpages文件夹中原有文件
fileset = os.listdir('step1/webpages')
for f in fileset:
if 'page' in f:
os.remove(os.path.join('step1/webpages', f))
# 爬取所有网页并保存到文件
for i in range(10):
getPage(url, i)
print("十个网页成功保存!")
# 调用main()函数
main()
阅读全文