豆瓣数据摘取
# -*- codeing = utf-8 -*-
import sys
# 进行网页解析
from bs4 import BeautifulSoup
# 正则表达式,进行文字匹配
import re
# 制定 URL,获取网页数据
import urllib.error,urllib.request
# 进行Excel操作
import xlwt
# 进行SQLite数据库操作
import sqlite3
def main():
baseurl = 'https://book.douban.com/top250?start='
# 1、爬取网页
datalist = getData(baseurl)
savepath = '.\\豆瓣top250.xls'
# 3、保存数据
saveData(savepath)
askURL('https://book.douban.com/top250?start=')
# 2、爬取网页
def getData(baseurl):
datalist = []
# 2.逐一解析数据
return datalist
# 得到指定一个URL的网页内容
def askURL(url):
head = { # 模拟浏览器头部信息,想浏览器发送消息
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36"
}
# 表示告诉豆瓣服务器,我们是什么类型的机器、浏览器(本质上是告诉浏览器,我们可以接受什么水平的文件内容)
request = urllib.request.Request(headers="User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36")
html = ''
try:
response = urllib.request.URLopen(request)
hrml = response.read().decode('utf-8')
print(hrml)
except urllib.error.URLError as e:
if hasattr(e,'code'):
print(e,'code')
if hasattr(e,'reason'):
print(e.reason)
# 保存数据
def saveData(savepath):
print('save....')
#当程序执行时,控制多个函数和流程,更清晰的控制主流程
if __name__ =='__main__':
# 调用函数
main()