爬虫之路——Day3

原创 2016年08月28日 15:36:13

用来导入豆瓣主页所有的推荐电影


import requests
import pymongo
import re
import time



connection = pymongo.MongoClient()
att = connection.douban
tags = {'热门', '最新', '经典', '可播放', '豆瓣高分', '冷门佳片', '华语', '欧美', '韩国', '日本', '动作', '喜剧', '爱情', '科幻', '悬疑', '恐怖', '文艺'}
i = 0
for tag in tags:
    start = time.time()
    i += 1
    url = "https://movie.douban.com/j/search_subjects"
    page_limit = 20
    page_start = 0

    params = {
        'type': 'movie',
        'tag': tag,
        'sort': 'recommend',
        'page_limit': str(page_limit),
        'page_start': str(page_start)
    }
    response = requests.get(url, params=params)
    data = response.text

    post_info = att[tag]

    while(True):
        params = {
                'type': 'movie',
                'tag': tag,
                'sort': 'recommend',
                'page_limit': str(page_limit),
                'page_start': str(page_start)
        }
        response = requests.get(url, params=params)
        if(response.text == '{"subjects":[]}'):
            break
        data = response.text

        movies = re.findall('"rate":"(.*?)",.*?,"title":"(.*?)","url":"(.*?)",.*?,"cover":"(.*?)",.*?,.*?,"is_new":(.*?)}', data)

        for movie in movies:
            #a = movie[2].replace('\\\\', '')
            tmp = {
                    "rate": movie[0],
                    "title": movie[1],
                    "url": movie[2],
                    "cover": movie[3],
                    "is_new": movie[4]
            }
            post_info.insert(tmp)

        page_start += 20
        time.sleep(1)

    end = time.time()
    print(tag + ":   " + str(end - start) + '\n')

#     反斜杠的处理     http://www.jb51.net/article/19740.htm


版权声明:本文为博主原创文章,未经博主允许不得转载。

python自动化之路-day3

首先分享:消费者行为学。5分钟商学院。(app得到),琳达看美国 一.运算符 1.算数运算符: + 两个对象相加 -  得到负数或者一个数减去另一个数 *  两个数相乘或返回一个被重复若干次...
  • zongyimin
  • zongyimin
  • 2016年10月24日 14:51
  • 240

Mysql学习之路——day3

接着昨天的例题,还有另一种方法,不用子查询 3.exist型子查询 把外层的查询结果,拿到内层,看内层的 查询是否成立 先从外层的category...
  • w1373199
  • w1373199
  • 2015年05月21日 08:45
  • 254

python学习之路Day3

3.1列表用户方括号[]表示列表,用逗号分隔其中的元素 例:names = ['zhang sna','li si']print(names) print(names[0]) #打印列表中第...
  • liuzhuo2014
  • liuzhuo2014
  • 2017年08月06日 07:27
  • 81

Python学习day3作业-HAproxy配置文件操作

Python days3作业 作业需求 HAproxy配置文件操作 1. 根据用户输入,输出对应的backend下的server信息 2. 可添加backend 和sever信息...
  • ygqygq2
  • ygqygq2
  • 2016年11月25日 23:22
  • 723

清华集训酱油记

Day -INF在YALI训练了十二天,认识了__debug和h10,发现h10是隔膜大师(雾)?!! 然后模拟赛打得一般般,不过也算是体验了一把IOI赛制,虽然jzoj上还能看别人的分数?!Da...
  • samjia2000
  • samjia2000
  • 2017年12月09日 21:53
  • 121

30天自制操作系统学习笔记

30天自制操作系统学习笔记 本文大部分内容转自于http://www.mahaixiang.cn/internet/386.html BIOS CMOS等概念部分转自https://zhida...
  • samlqs
  • samlqs
  • 2016年11月18日 20:33
  • 297

架构师之路16年精选50篇

2016精选索引,点击标题阅读相关文章。 【方法论】 《秒杀系统架构优化思路》 《分布式ID生成器》 《互联网架构,如何进行容量设计》 《线程数究竟设多少合理》 《单点系统架构的可...
  • a314773862
  • a314773862
  • 2017年02月13日 19:05
  • 4816

我的Java学习之路

  将近两个月的时间没有更新过博客了,这个东西还是不能断,以后要坚持按时更新。这段时间主要在学习Java编程方面的知识,之前自己主要是通过C++来做图像,技多不压身,学习了一个月,再次写一篇博客来...
  • u013088062
  • u013088062
  • 2016年06月15日 23:19
  • 3309

一.求生之路2服务器的搭建(Windows)

下载游戏1.先去下载个在服务器上下载游戏的工具.(服务器不用安装Steam客户端)所以要借助这个工具SteamCMD 下载steamCMD的网站 直接下载steamCMD的压缩包 2.解压出来 3....
  • u013792369
  • u013792369
  • 2016年11月05日 10:25
  • 7226

python自动化之路-day2

本节内容: for循环while循环数据类型(字符串、数字、列表、字典、元组) for循环 1.介绍 python中循环大多数都是用for来完成,for循环是一种迭代循环机制不...
  • zongyimin
  • zongyimin
  • 2016年10月17日 11:07
  • 381
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:爬虫之路——Day3
举报原因:
原因补充:

(最多只允许输入30个字)