pyspider爬豆瓣电影实例
直接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爬豆瓣电影实例的更多相关文章
- python简单爬豆瓣电影排名
		爬豆瓣电影 网站分析: 1 打开https://movie.douban.com,选择 [排行榜],然后随便选择一类型,我这里选择科幻 2 一直浏览网页,发现没有下一的标签,是下滑再加载的,可 ... 
- 2_爬豆瓣电影_ajax动态加载
		爬豆瓣 什么是 AJAX ? AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. AJAX = Asynchronous JavaScript and XML(AJAX = 异步 ... 
- Scala学习之爬豆瓣电影
		简单使用Scala和Jsoup对豆瓣电影进行爬虫,技术比較简单易学. 写文章不易,欢迎大家採我的文章,以及给出实用的评论,当然大家也能够关注一下我的github:多谢. 1.爬虫前期准备 找好须要抓取 ... 
- Scrapy爬豆瓣电影Top250并存入MySQL数据库
		d:进入D盘 scrapy startproject douban创建豆瓣项目 cd douban进入项目 scrapy genspider douban_spider movie.douban.co ... 
- python爬虫--用xpath爬豆瓣电影
		步骤 将目标网站下的页面抓取下来 将抓取下来的数据根据一定规则进行提取 具体流程 将目标网站下的页面抓取下来 1. 倒库 import requests 2.头信息(有时候可不写) headers ... 
- [151116 记录] 使用Python3.5爬取豆瓣电影Top250
		这一段时间,一直在折腾Python爬虫.已有的文件记录显示,折腾爬虫大概个把月了吧.但是断断续续,一会儿鼓捣python.一会学习sql儿.一会调试OpenCV,结果什么都没学好.前几天,终于耐下心来 ... 
- 用Scrapy爬虫下载图片(豆瓣电影图片)
		用Scrapy爬虫的安装和入门教程,这里有,这篇链接的博客也是我这篇博客的基础. 其实我完全可以直接在上面那篇博客中的代码中直接加入我要下载图片的部分代码的,但是由于上述博客中的代码已运行,已爬到快九 ... 
- Python爬虫教程-17-ajax爬取实例(豆瓣电影)
		Python爬虫教程-17-ajax爬取实例(豆瓣电影) ajax: 简单的说,就是一段js代码,通过这段代码,可以让页面发送异步的请求,或者向服务器发送一个东西,即和服务器进行交互 对于ajax: ... 
- Pyhton网络爬虫实例_豆瓣电影排行榜_Xpath方法爬取
		-----------------------------------------------------------学无止境------------------------------------- ... 
随机推荐
- Linux的NTP配置总结
			在Linux系统中,为了避免主机时间因为在长时间运行下所导致的时间偏差,进行时间同步(synchronize)的工作是非常必要的.Linux系统下,一般使用ntp服务来同步不同机器的时间.NTP 是网 ... 
- Redhat Server 5.7 安装配置PHP
			PHP的简介 PHP于1994年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf 为了要维护个人网页而制作的一个简单的用Perl语言编写的程序.这些工具程序用来显示 Rasm ... 
- [MySQL性能优化系列]LIMIT语句优化
			1. 背景 假设有如下SQL语句: SELECT * FROM table1 LIMIT offset, rows 这是一条典型的LIMIT语句,常见的使用场景是,某些查询返回的内容特别多,而客户端处 ... 
- JVM内存模型
			原文地址:http://www.cnblogs.com/dingyingsi/p/3760447.html 1.程序计数器 程序计数器(Program Counter Register)是一块较小的内 ... 
- 2-3 Linux文件管理命令详解
			1. 复制文件 cp: copy 格式 SRCFILE DEST 一个文件到一个文件 多个文件到一个目录 注,cd 后面什么都不加,是进入用户的家目录 如果目标文件不存在,则先创建文 ... 
- linux mail利用外部邮箱地址发邮件
			mail命令发送邮件需要sendmail或postfix服务 三种常用格式发信 mail -s "标题" xxx@xxx.xxx #第一种方法,你可以把当前shell当成编辑器来用 ... 
- nginx 日志相关配置总结
			设置位于nginx.conf: log_format main '$server_name $remote_addr - $remote_user [$time_local] &q ... 
- Linux Kernel代码艺术——数组初始化
			前几天看内核中系统调用代码,在系统调用向量表初始化中,有下面这段代码写的让我有点摸不着头脑: const sys_call_ptr_t sys_call_table[__NR_syscall_max+ ... 
- CentOS安装MySQL
			好记性不如烂笔头,记录一下 yum list installed | grep mysql #检查是否安装了mysql yum -y remove mysql-libs.x86_64 #卸载已经安装的 ... 
- jQuery表单验证案例
			目标:使用jQuery进行表单验证. 功能:1.必填选项后面添加了红色小星星: 2.选中开始输入时,输入文本框会改变当前背景色,增强用户体验: 3.输入的时候就开始验证,当输入格式正确就会提醒,就是当 ... 
