作业3_爬取出版商列表并保存到Excel
# 作业:获取豆瓣网出版社列表,网址:https://read.douban.com/provider/all
# 学习使用正则表达式
# 将结果导出到Excel文件
import urllib.request
import re
import xlwt
# 变量定义
target_url = 'https://read.douban.com/provider/all' # 爬取目标网址
export_file_path = 'Provider Company.xls'
# 方法:爬取内容导出到Excel文件
def export_to_excel(file_path, content_list):
xls_workbook = xlwt.Workbook() # 创建工作簿
xls_sheet = xls_workbook.add_sheet('Provider') # 创建Sheet
try:
# 将list内容写入到Excel单元格
for row in range(0, len(content_list)):
xls_sheet.write(row, 0, content_list[row])
xls_workbook.save(file_path) # 保存文件
except Exception as er:
print('生成“'+file_path+'”文件时出现错误')
print(er)
# 获取网页内容
web_content = urllib.request.urlopen(target_url).read()
# 根据源码分析,找到出版社名称规律
pattern = '<div class="name">(.*?)</div>'
# 获取符合正则表达式规则的文本内容
result_set = re.compile(pattern).findall(str(web_content, 'utf-8'))
# 导出到Excel
export_to_excel(export_file_path, result_set)