博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pyspider 示例二 升级完整版绕过懒加载,直接读取图片
阅读量:4948 次
发布时间:2019-06-11

本文共 1641 字,大约阅读时间需要 5 分钟。

pyspider 示例二 升级完整版绕过懒加载,直接读取图片,见【升级写法处】

#!/usr/bin/env python# -*- encoding: utf-8 -*-# Created on 2019-04-08 14:24:34# Project: qunaerfrom pyspider.libs.base_handler import *class Handler(BaseHandler):    crawl_config = {    }    @every(minutes=24 * 60)    def on_start(self):        self.crawl('https://travel.qunar.com/travelbook/list.htm', callback=self.index_page,validate_cert=False)    @config(age=10 * 24 * 60 * 60)    def index_page(self, response):        for each in response.doc('li > .tit>a').items():            self.crawl(each.attr.href, callback=self.detail_page,validate_cert=False,fetch_type='js',js_viewport_height='100')        next1=response.doc('.next').attr.href        self.crawl(next1,callback=self.index_page,validate_cert=False)    @config(priority=2)    def detail_page(self, response):        imgs=response.doc('.js_memo_node').find('img')#获取id下的所有(包括多层嵌套的)img标签        img_list=''                                  #必须事先声明,否则return,img_list时会报引用未事先声明的变量        for img in imgs.items():            img_list+=img.attr('data-original')+',' #【升级写法】,绕过懒加载直接读取图片真正地址                                                    #htm源码            return {            "url": response.url,            "title": response.doc('title').text(),            "date":response.doc('li.f_item.when > p > span.data').text(),            "day":response.doc('li.f_item.howlong > p > span.data').text(),            "text":response.doc('#b_panel_schedule').text(),            "img":img_list                    }#ele-3076663-2 > div.bottom > div.e_img_schedule > div > dl:nth-child(2) > dt > img

 

转载于:https://www.cnblogs.com/chenxi188/p/10690786.html

你可能感兴趣的文章
toad for oracle中文显示乱码
查看>>
scala的REPL shell的调用
查看>>
SQL中Group By的使用
查看>>
Mybatis映射原理,动态SQL,log4j
查看>>
哪个微信编辑器比较好用?
查看>>
错误org/aopalliance/intercept/MethodInterceptor解决方法
查看>>
Pylint在项目中的使用
查看>>
使用nginx做反向代理和负载均衡效果图
查看>>
access remote libvirtd
查看>>
gdb调试中出现No symbol table is loaded. Use the "file" command.问题
查看>>
(4) Orchard 开发之 Page 的信息存在哪?
查看>>
ASP.NET中 GridView(网格视图)的使用前台绑定
查看>>
图像加载
查看>>
关于zxing生成二维码,在微信长按识别不了问题
查看>>
Haskell学习-高阶函数
查看>>
手动通知扫描SD卡主动生成缩略图
查看>>
js中tagName和nodeName
查看>>
PC-XP系统忘记密码怎么办
查看>>
Android实例-打电话、发短信和邮件,取得手机IMEI号(XE8+小米2)
查看>>
深入了解Oracle ASM(二):ASM File number 1 文件目录
查看>>