电影天堂爬虫
2019-07-24 09:27:59来源:博客园 阅读 ()
# 电影天堂爬虫 **今日目标** 爬取电影天堂前30页最新电影以及下载地址 ```python # 1. 打印程序执行时间 # 2. 数据爬下来后做处理(字符串),定义成字典 # 3. 一条龙: 获取 -> 调用解析 -> 数据处理 from urllib import request import time import re import pymysql import random class MaoyanSpider(object): def __init__(self): self.url = 'https://maoyan.com/board/4?offset={}' self.headers={'User-Agent':'Mozilla/5.0'} # 用于记录页数 self.page = 1 # 创建数据库连接对象和游标对象 self.db = pymysql.connect( 'localhost','root','123456','maoyandb',charset='utf8' ) self.cursor = self.db.cursor() # 获取网页 def get_page(self,url): req = request.Request( url=url, headers=self.headers ) res = request.urlopen(req) html = res.read().decode('utf-8') # 直接调用解析函数 self.parse_page(html) # 解析网页 def parse_page(self,html): pattren = re.compile('<div class="movie-item-info">.*?title="(.*?)".*?class="star">(.*?)</p>.*?releasetime">(.*?)</p>',re.S) r_list = pattren.findall(html) print(r_list) self.write_page(r_list) # 存入mysql数据库(executemany([ [],[],[] ])) def write_page(self,r_list): # 定义空列表 film_list = [] ins = 'insert into filmtab values(%s,%s,%s)' # 处理数据,放到大列表film_list中 for rt in r_list: one_film = [ rt[0],rt[1].strip(),rt[2].strip()[5:15] ] # 添加到大列表中 film_list.append(one_film) # 一次数据库IO把1页数据存入 self.cursor.executemany(ins,film_list) # 提交到数据库执行 self.db.commit() def main(self): for offset in range(0,31,10): url = self.url.format(offset) self.get_page(url) time.sleep(random.randint(1,3)) print('第%d页爬取完成' % self.page) self.page += 1 # 断开数据库(所有页爬完之后) self.cursor.close() self.db.close() if __name__ == '__main__': start = time.time() spider = MaoyanSpider() spider.main() end = time.time() print('执行时间: %.2f' % (end-start)) ```
原文链接:https://www.cnblogs.com/cxiaolong/p/11223243.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 小白如何入门 Python 爬虫? 2019-08-13
- python day2-爬虫实现github登录 2019-08-13
- python爬虫学习之爬取超清唯美壁纸 2019-08-13
- python爬虫学习之用Python抢火车票的简单小程序 2019-08-13
- python爬虫常用库 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash