
# coding=utf-8
from bs4 import BeautifulSoup
import re
import xlwt # 进行excel操作
import sqlite3
import urllib.request, urllib.error
def main():
baseurl =
https://movie.douban.com/top250
# 1.爬取网页
datalist = getData(baseurl)
savepath = r .\豆瓣电影Top250.xls # xls是execl文件类型 路径最前面的“。”表示储存在当前项目下
# saveData(savepath)
findLink = re.compile(r a href= (.*?) ) # 创建正则表达式对象,表示规则(字符串的模式)
def getData(baseurl):
datalist = []
for i in range(0, 10): # 左闭右开
url = baseurl + str(i * 25)
html = askURL(url) # 保存获取到的网页源码
# 2.逐一解析数据
soup = BeautifulSoup(html, html.parser )
# 查找链接
for item in soup.find_all( div , class_= item ): # 查找符合要求的字符串,形成列表
data = [] # 列表保存一部电影的所有信息
item = str(item) # 转化成字符串即可用正则表达式搜寻信息
link = re.findall(findLink, item)[0]
print(link)
return datalist
def askURL(url):
head = {
User-Agent : Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0
}
# 建立请求信息
request = urllib.request.Request(url, headers=head)
html =
try:
response = urllib.request.urlopen(request)
html = response.read().decode( utf-8 )
print(html)
except urllib.error.URLError as e:
if hasattr(e, code ):
print(e.code) # c错权误代码
if hasattr(e, reason ):
pass
print(e.reason) # 错误原因
return html
# 保存数据
def saveData(savepath):
pass
if __name__ == __main__ :
# 调用函数
main()我爬过电影天堂
还是不知道错在哪里
百度
@星星还是树
我爬过一次,到建立SQ就没再继续了,excel倒是弄了
这个东西烂大街,还用爬?
第一次按教程操作,第一次学