# 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倒是弄了
这个东西烂大街,还用爬?
第一次按教程操作,第一次学