python爬取电影记录并生成excel表格
发表于:2024-09-23 作者:千家信息网编辑
千家信息网最后更新 2024年09月23日,#coding=utf-8import urllib2import reimport xlwtimport smtplibimport randomimport timefrom email.mime
千家信息网最后更新 2024年09月23日python爬取电影记录并生成excel表格
#coding=utf-8import urllib2import reimport xlwtimport smtplibimport randomimport timefrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextfrom email.mime.application import MIMEApplication# 1.先获取整个页面信息# Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据。# 首先,我们定义了一个getHtml()函数:# urllib.urlopen()方法用于打开一个URL地址。# read()方法用于读取URL上的数据,向getHtml()函数传递一个网址,并把整个页面下载下来。执行程序就会把整个网页打印输出。## #添加头部header# Agent_list = [ ]# user_agent = random.choice(Agent_list)# page.add_header('User-Agent',user_agent) ### #定义opener,设置代理IP# ip_list = []# httpproxy_handler = urllib2.ProxyHandler({'http':random.choice(ip_list)})# opener = urllib2.build_opener(httpproxy_handler)# urllib2.install_opener(opener)def getHtml(url): Agent_list = ['Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36', "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1", "Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11" ] ip_list = ['223.198.16.58:9999','110.244.12.96:9999','61.145.8.103:9999','223.198.19.214:9999','112.85.125.111:9999'] user_agent = random.choice(Agent_list) httpproxy_handler = urllib2.ProxyHandler({'http':random.choice(ip_list)}) opener = urllib2.build_opener(httpproxy_handler) urllib2.install_opener(opener) page = urllib2.Request(url) page.add_header('User-Agent',user_agent) response = urllib2.urlopen(page) html = response.read() return html# 2.筛选页面中想要的数据# 我们又创建了geturl()函数,用于在获取的整个页面中筛选需要的视频连接。# re模块主要包含了正则表达式:# r"..表示超链接# re.compile() 可以把正则表达式编译成一个正则表达式对象.# re.findall() 方法读取html 中包含 urlre(正则表达式)的数据。# 运行脚本将得到整个页面中包含图片的URL地址。## reg = r"IMDB评分8分左右影片400余部
并输出括号里面的内容# 得到 /html/gndy/jddy/20160320/50523.html'>IMDB评分8分左右影片400余部# 可以用 reg = r"
"# 可以用 reg = r"+",resource_url) 将得到的结果'/html/gndy/jddy/20160320/50523.html'>IMDB评分8分左右影片400余部' 按照'>切割成两部分。# down_addr = '' + down_page[j] down_page无法显示汉字,所以做了下转化## for i in range (1,20) 查询需要的条记录,从1开始的原因是因为第0个记录不是需要的数据。def geturl(html): reg = r"+",resource_url) Agent_list = ['Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36', "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1", "Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6", "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6", "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5", "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3", "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24", "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24" ] ip_list = ['223.198.16.58:9999','110.244.12.96:9999','61.145.8.103:9999','223.198.19.214:9999','112.85.125.111:9999'] user_agent = random.choice(Agent_list) httpproxy_handler = urllib2.ProxyHandler({'http':random.choice(ip_list)}) opener = urllib2.build_opener(httpproxy_handler) urllib2.install_opener(opener) user_agent = random.choice(Agent_list) down_page = urllib2.Request(result[0]) down_page.add_header('User-Agent',user_agent) print down_page.get_header('User-agent') response_page = urllib2.urlopen(down_page) down_html = response_page.read() addr_code = r'' addr_re = re.compile(addr_code) down_url = re.findall(addr_re,down_html) down_addr = '' + down_url[0] if i == 1: for list in range(0,len(list1)): worksheet.write(i-1,list,list1[list]) else: worksheet.write(i-1,0,result[1]) worksheet.write(i-1,1,result[0]) worksheet.write(i-1,2,down_addr) time.sleep(5) wbk.save('renew.xls')#3. 发送邮件def send_mail(): user = 'xxxx.com' pwd = 'xxxxs' to = 'xxxx' msg = MIMEMultipart() msg["Subject"] = '电影记录' msg ["From"] = user msg ["To"] = to part1 = MIMEText("你好,\n\n 电影记录见附件。") msg.attach(part1) part2 = MIMEApplication (open(r'E:\2xx3\python脚本\html\renew.xls','rb').read()) part2.add_header('Content-Disposition','attachment',filename='renew.xls') msg.attach(part2) s = smtplib.SMTP("smtp.139.com",timeout=30) s.login(user,pwd) s.sendmail(user,to,msg.as_string()) s.close() html = getHtml("https://www.dytt8.net/index0.html")geturl(html)send_mail()
字符
数据
正则
表达式
页面
字符串
余部
函数
地址
影片
括号
方法
分组
评分
输出
电影
也就是
代表
内容
多个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
赞云服务器
金融数据库基础
关于校园网络安全的ppt
dnf怀旧服 60版本数据库
网络技术支撑工作内容
信息网络安全人员岗位职责
免费语音直播软件开发
数据库图书借阅管理系统
寮步定制软件开发
谷歌服务器数量
数据库系统怎样演变
软件开发的102条原则
天津软件开发厂家
dl388服务器机柜尺寸
数据库解压怎么做
数据库三类关系是什么意思
滦南项目网络技术诚信合作
舟山java软件开发设计
招远商城软件开发公司
如何查期刊被哪个全文数据库收录
不同服务器的人能在一起玩吗
英威腾服务器 超过使用次数
英国数据库公司
成都铁路局网络安全知识考试题
服务器级别的显卡
网络技术与应用密码
网站的新闻文本怎么存在数据库
校园网用到哪些网络技术
教育局网络安全员工资
外包软件开发个税