直接copy官网实例会出现599的错误,百度了很久发现是因为证书的问题

添加这一句忽略证书 validate_cert = False

代码如下:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
# Created on 2016-05-21 20:21:32
# Project: tutorial_douban_moive

from pyspider.libs.base_handler import *
import re

class Handler(BaseHandler):
crawl_config = {
}

@every(minutes=24 * 60)
def on_start(self):
url = "http://movie.douban.com/tag/"
self.crawl(url, callback=self.index_page, validate_cert = False)       #on_start获得要爬的url然后将参数传给index_page,validate_cert = False 忽略证书

@config(age=10 * 24 * 60 * 60)
def index_page(self, response):
for each in response.doc('a[href^="http"]').items():
if re.match("https://movie.douban.com/tag/\w+", each.attr.href, re.U):    #进行正则匹配,并保存到each.attr.href中
self.crawl(each.attr.href, callback=self.list_page, validate_cert = False)      #对爬的url进行处理,只提取https://movie.douban.com/tag/\w+里面的东西

def list_page(self, response):
for each in response.doc('#content > div > div.article > div > table tr > td > div > a').items():   #这一句是来自css selector,右键要爬的链接然后审视元素(chrome是检查)选copy→
copy selector
#print each
self.crawl(each.attr.href, callback=self.detail_page, validate_cert = False)   #传递给下面处理

@config(priority=2)
def detail_page(self, response):
return {
"url": response.url,
"title": response.doc('#content > h1 > span').text(),    ##content > h1 > span 同样来自于CSS中,获得你想要的参数
"rating": response.doc('#interest_sectl > div.rating_wrap.clearbox > div.rating_self.clearfix > strong').text(),
"director": [x.text() for x in response.doc('#info > span:nth-child(1) > span.attrs > a').items()],
}

pyspider爬豆瓣电影实例的更多相关文章

  1. python简单爬豆瓣电影排名

    爬豆瓣电影 网站分析: 1 打开https://movie.douban.com,选择  [排行榜],然后随便选择一类型,我这里选择科幻    2 一直浏览网页,发现没有下一的标签,是下滑再加载的,可 ...

  2. 2_爬豆瓣电影_ajax动态加载

    爬豆瓣 什么是 AJAX ? AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. AJAX = Asynchronous JavaScript and XML(AJAX = 异步 ...

  3. Scala学习之爬豆瓣电影

    简单使用Scala和Jsoup对豆瓣电影进行爬虫,技术比較简单易学. 写文章不易,欢迎大家採我的文章,以及给出实用的评论,当然大家也能够关注一下我的github:多谢. 1.爬虫前期准备 找好须要抓取 ...

  4. Scrapy爬豆瓣电影Top250并存入MySQL数据库

    d:进入D盘 scrapy startproject douban创建豆瓣项目 cd douban进入项目 scrapy genspider douban_spider movie.douban.co ...

  5. python爬虫--用xpath爬豆瓣电影

    步骤 将目标网站下的页面抓取下来 将抓取下来的数据根据一定规则进行提取   具体流程 将目标网站下的页面抓取下来 1. 倒库 import requests 2.头信息(有时候可不写) headers ...

  6. [151116 记录] 使用Python3.5爬取豆瓣电影Top250

    这一段时间,一直在折腾Python爬虫.已有的文件记录显示,折腾爬虫大概个把月了吧.但是断断续续,一会儿鼓捣python.一会学习sql儿.一会调试OpenCV,结果什么都没学好.前几天,终于耐下心来 ...

  7. 用Scrapy爬虫下载图片(豆瓣电影图片)

    用Scrapy爬虫的安装和入门教程,这里有,这篇链接的博客也是我这篇博客的基础. 其实我完全可以直接在上面那篇博客中的代码中直接加入我要下载图片的部分代码的,但是由于上述博客中的代码已运行,已爬到快九 ...

  8. Python爬虫教程-17-ajax爬取实例(豆瓣电影)

    Python爬虫教程-17-ajax爬取实例(豆瓣电影) ajax: 简单的说,就是一段js代码,通过这段代码,可以让页面发送异步的请求,或者向服务器发送一个东西,即和服务器进行交互 对于ajax: ...

  9. Pyhton网络爬虫实例_豆瓣电影排行榜_Xpath方法爬取

    -----------------------------------------------------------学无止境------------------------------------- ...

随机推荐

  1. Git 技能总结

    创建和使用git ssh key 首先设置git的user name和email: git config --global user.name "xxx" git config - ...

  2. Linux 卸载mysql-libs包出现错误

    在Red Hat Enterprise Linux6.6上安装MySQL时,出现与package mysql-libs-5.1.73-3.el6_5.x86_64冲突的情况 [root@localho ...

  3. Ignite用户配置管理介绍

    Ignite8这款数据库性能监控.性能分析软件,不光是DBA监控.管理数据库的利器之一,开发人员也可以查看系统性能数据,下面介绍一下如何在Ignite里面配置用户权限,本文纯水文一篇,介绍简单基本的配 ...

  4. 使用SQL Server 扩展事件来创建死锁的时间跟踪

    我们通过SQL Server 2012图形界面来部署一个扩展事件跟踪会话.然后可以生成SQL脚本,在2008或2008 R2版本下运行类似的跟踪. 步骤1: 通过“Object Explorer”连接 ...

  5. 【转】hive导入数据出现NULL

    在把hdfs上数据迁移到hive中的表时,若出现数据位NULL,是因为没有指定列分隔符. 由于hive默认的分隔符是/u0001(Ctrl+A),为了平滑迁移,需要在创建表格时指定数据的分割符号,语法 ...

  6. 在Dell R720服务器上安装ESXI5.5时会出现卡在LSI_MR3.V00的解决方法

    接近年底,公司各种活动,各种加班,导致没有太多时间写博客,今抽了点时间将前几天搭建虚拟化服务时所出现的一个问题描述下: 服务器配置:CUP E5-2609     内存32G          硬盘5 ...

  7. thrift的lua实现

    最近要进行系统升级,后台的数据是根据城市区分的.担心新系统的稳定性及新数据的准确性,计划部分城市采用新接口.接口的入参里没有城市信息,只有经纬度坐标,需要调用一个thrift接口来根据坐标获取城市信息 ...

  8. Launch和Shut Off操作详解 - 每天5分钟玩转 OpenStack(30)

    本节详细分析 instance launch 和 shut off 操作,以及如何在日志中快速定位有用信息的技巧. Launch Launch instance 应该算 Nova 最重要的操作. 仔细 ...

  9. 修改AndroidStudio中的Logcat中的默认设置

    按Ctrl+Alt+S打开Settings 在左上角的输入框中输入Locat 点右边的使用内部样式取消掉,好了,开始自定义吧.

  10. ajax缓存问题

    默认情况下,请求总会被发出去,但浏览器有可能从它的缓存中调取数据.换句话说,在缓存过期之前,针对相同地址发起的多个Ajax请求,只有第一次会真正发送到服务端.要禁止使用缓存的结果,可以设置 cache ...