平时比较喜欢看电影,每次去资源站搜索感觉很不方便,闲来无事就写了个小虫把电影站点给爬了。。废话不多说,看源码。

避免广告,资源站地址隐藏。

第一步,抓取所有电影链接,保存到表movieall中

from html.parser import HTMLParser
import urllib.request
import sys
import sqlite3
import time
import re
types = [['Dongzuodianying',99],['Kehuandianying',32],['Kongbudianying',84],['Xijudianying',121],['Aiqingdianying',54],['Juqingdianying',275],['Zhanzhengdianying',14]];
baseurl= "https://www.*****.com/"def write_to_db(name,mtype,url,img):conn = sqlite3.connect("D:\\movie\\movie.db")sql = '''insert into movieall(name,type,url,imgurl) values(:ssname,:sstype,:ssurl,:ssimg)'''conn.cursor().execute(sql,{'ssname':name, 'sstype':mtype, 'ssurl':url,'ssimg':img})   conn.commit()conn.cursor().close()conn.close()for stype in types:                     for i in range(1,stype[1],1):url=baseurl+stype[0]+"/chart/"+str(i)+".html"print(url)html = urllib.request.urlopen(url).read().decode("gbk")re_li= r'<li>(.*?)</li>'li_list= re.findall(re_li,html,re.S|re.M)for li in li_list:#print(li)info= r'<a href="(.*?)" title="(.*?)"><img src="(.*?)" class'infolist= re.findall(info,li,re.S|re.M)if len(infolist)>0:#print(infolist[0][0])write_to_db(infolist[0][1],stype[0],infolist[0][0],infolist[0][2])

第二步,遍历表movieall,解析电影信息并保存到表movieinfo中,包括电影名称,类型,海报地址,下载地址,下载类型,电影简介等信息。

from html.parser import HTMLParser
import urllib.request
import urllib.error
import sys
import sqlite3
import time
import re
types = [['Dongzuodianying',99],['Kehuandianying',32],['Kongbudianying',84],['Xijudianying',121],['Aiqingdianying',54],['Juqingdianying',275],['Zhanzhengdianying',14]];
baseurl= "https://www.******.com/"def write_to_db(name,mtype,url,img,downurl,downtitle,downtype,desc):conn = sqlite3.connect("D:\\movie\\movieall.db")sql = '''insert into movieinfo(name,type,url,imgurl,downurl,downtitle,downtype,moviedesc) values(:ssname,:sstype,:ssurl,:ssimg,:ssdownurl,:ssdowntitle,:ssdowntype,:ssdesc)'''conn.cursor().execute(sql,{'ssname':name, 'sstype':mtype, 'ssurl':url,'ssimg':img,'ssdownurl':downurl,'ssdowntitle':downtitle,'ssdowntype':downtype,'ssdesc':desc})   conn.commit()conn.cursor().close()conn.close()conn = sqlite3.connect("D:\\movie\\movie.db")
cur = conn.cursor()
sqlstr='SELECT name,type,url,imgurl,rowid FROM movieall'
for row in cur.execute(sqlstr):print (row[0],row[1],row[4])url=row[2]try:html = urllib.request.urlopen(url).read().decode("gbk")   #re_div= r'<div class="loldytt">(.*?)</div>'re_div= r'<a href="((thunder|magnet|ed2k|ftp).*?)" title="(.*?)" target="_self">'div_list= re.findall(re_div,html,re.S|re.M)re_desc= r'<div class="neirong">(.*?)</div>'desc_list= re.findall(re_desc,html,re.S|re.M)#print(desc_list)     for div in div_list:#print(div)write_to_db(row[0],row[1],row[2],row[3],div[0],div[2],div[1],desc_list[0]);except urllib.error.HTTPError as e:print(e.code)except UnicodeDecodeError as e:print(e)time.sleep(0.1)
cur.close()
conn.close()

好了,开跑吧,效率虽然不怎么样,不过还是达到目的了,大概抓了3万部电影,8万条记录。不知道有生之年能不能看完。。。

如果也有喜欢电影的朋友请自取:

https://pan.baidu.com/s/1v5sTa6ylChUGkc00oYWu_A 提取码: unxk

电影资源站python爬虫源码相关推荐

  1. Project 2 :Python爬虫源码实现抓取豆瓣电影爱情电影Top200并保存到文件

    基于python3.6-pycharm编写的,都已经调试过了,欢迎大家提出交流意见. 关于一些基础的数据网页分析(比如为什么是这个url)没有过多赘述,看不懂的自行百度. 源码可以直接拷贝运行. 转载 ...

  2. python爬虫源码项目_32个Python爬虫实战项目,满足你的项目慌(带源码)

    写在前面 学习Python爬虫的小伙伴想成为爬虫行业的大牛么? 你想在网页上爬取你想要的数据不费吹灰之力么? 那么亲爱的小伙伴们肯定需要项目实战去磨练自己的技术,毕竟没有谁能随随便便成功! 小编前段时 ...

  3. python爬虫源码附注解_Python小白写的三个入门级的爬虫(附代码和注释)

    Python小白写的三个入门级的爬虫(附注释) 写在前面的话:作者目前正在学习Python,还是一名小白,所以注释可以会有些不准确的地方,望谅解. 这三个小爬虫不是很难,而且用处可能也不大,主要还是锻 ...

  4. python爬虫源码怎么使用_Python爬虫具体应该怎么使用?

    1.首先,什么时候我们需要爬虫呢? 当我们需要某网站上的海量数据的时候,会发现,如果人工去把几百页,每页几十条到几百条的数据一条一条地复制下来,就太费时费力了,甚至根本就不可能.但是你做研究却需要这样 ...

  5. python爬虫源码_Python—爬虫:王者荣耀全套皮肤【附源码】

    怎么获取全套皮肤?用钱买,或者用爬虫爬取下来~虽然后者不能穿.这个案例稍微复杂一点,但是一个非常值得学习的项目. 具体实现思路: 分析网页源代码结构 找到合适的入口 穷举访问并解析 爬取所有英雄所有皮 ...

  6. python 爬虫源码 selenium并存储数据库_使用pythonSelenium爬取内容并存储MySQL数据库的实例图解...

    这篇文章主要介绍了python Selenium爬取内容并存储至MySQL数据库的实现代码,需要的朋友可以参考下 前面我通过一篇文章讲述了如何爬取CSDN的博客摘要等信息.通常,在使用Selenium ...

  7. android 爬虫获取邮箱,python爬虫源码学习:爬虫smtp邮件实时推送(2)

    却道天凉好个秋~ 这篇文章紧跟上期,讲解py爬虫发送smtp邮件. 有两个好玩的地方: 1.将爬取的数据通过SMTP邮件发送通知 2.将爬虫配置挂载在安卓手机上实时运行,省去了部署服务器的麻烦和费用 ...

  8. Project 1 :Python爬虫源码实现抓取淘宝指定商品所有评论并保存到文件

    学习python一个多月,掌握了一些基础,因为开淘宝店的原因,平时会抓取一些淘宝数据,尝试用简单的语言写一些python爬虫,关键信息都注释在源码内.这是我的第一个爬虫程序,基于python3.6-p ...

  9. python爬虫源码附注解_Python爬虫遇到验证码的几种处理方式,文章末尾有源码

    最近事情其实挺多了,打了一下蓝桥杯的比赛, 还在准备着一些证书的考试, 关于爬虫之类的博客都搁着了一段时间了, 关于我自己确实有点退步了, 实属不该, 其实我自己也是在想, 大三了,到底我是要去考研, ...

最新文章

  1. 万万没想到,1200 年前老祖宗们就知道大数据了
  2. js 字符和html和数值拼接,js中substring和substr的用法(获取字符串为整个html页面中的某个数值)...
  3. [javaSE] 多线程(join方法)
  4. oracle 删除老存档,【转】oracle存档日志删除
  5. mybatis中concat的用法
  6. 全代码实现ios-1
  7. NPDP产品经理认证:精益画布使用六步法
  8. STM32_ADC模数转换的基本原理
  9. 【统计学】利用spss正态分布假定检验 S-W检验 K-S检验 直方图 Q-Q图
  10. windows双开微信多开微信
  11. 4 描述性统计量和统计图
  12. linux下chm阅读器kchmviewer中文乱码解决方法
  13. 小说作者推荐:半截白菜合集
  14. ubuntu yah3c 自动认证可执行脚本
  15. css 纵向合并_excel只能合并横向单元格
  16. 想给他妹妹每人再补贴一千镑的收入
  17. Qt 之 MediaPlayer 音视频播放
  18. css实现div中的input和span垂直居中显示
  19. 域名贵吗?域名值不值钱?
  20. Android 监听屏幕锁屏,用户解锁

热门文章

  1. 使用simulink模拟六个位移传感器数据,并实现数据的实时采集与处理
  2. 【从0到1完成一个项目(一)】用户中心(上)
  3. python这么火找不到工作_python工作太难找,python找不到工作原因。
  4. dux修改index.php,DUX全站底部推广区修改
  5. 监控软件自动发现功能和监控软件分布式监控配置
  6. JSP政府机关公文文档收发管理系统
  7. unity3d 理解刚体(Rigidbody)和碰撞体(Collider)以及触发器(Is Trigger),边学边更新
  8. IPv6地址配置方式,无状态地址配置及DHCPv6配置
  9. 指尖轻舞桌面:Slide On Desk - 更新日志
  10. 十大网址导航站排行榜