脚本语言
文章平均质量分 79
bladestone
15年的软件行业开发经验,9年项目管理经验;5年爬虫经验
展开
-
Scrapy回调函数callback传递参数的方式
Scrapy回调函数回调方法示例:yield Request(url=self.base_url + 'QueryInfo', headers=self.request_headers, method="POST", body=json.dumps(request_params), callback=self.page_query_schools, cb_kwargs=add_params)callback对应的是page_query_school()即为回调的方法。传递参数方式如何向回调方法中原创 2020-09-01 23:10:40 · 5277 阅读 · 2 评论 -
Thymeleaf与Spring学习笔记
ModelAttribute在与Spring的集成中,在html页面中基于thymeleaf语法,直接访问model中的属性信息。 在Controller中定义ModelAttribute信息:@ModelAttribute('allTypes')public List<Type> populateTypes() { return Arrays.asList(T...原创 2018-07-11 14:43:31 · 918 阅读 · 0 评论 -
Thymeleaf学习笔记(四)
th:blockthymeleaf中唯一的执行逻辑控制的节点,执行完毕之后,自行消失,用来做控制,而非显示。 示例:&amp;lt;table&amp;gt; &amp;lt;th:block th:each=&quot;user : ${users}&quot;&amp;gt; &amp;lt;tr&amp;gt; &am原创 2018-07-11 11:39:39 · 433 阅读 · 0 评论 -
基于Headless浏览器来访问当当页面商品信息--代码示例
依赖库说明selenium: 兼容不同浏览器的WebDriver PhantomJS: 著名的无头浏览器,不幸的是最近maintainer放弃继续支持维护了,真是一件悲伤的事情。 开发语言: Python 3.6功能描述从当当商城中爬取某个商品的价格和名称。这里尝试查找”非暴力沟通“的图书信息,输出价格和命名。代码示例 # -*- coding: utf-8 ...原创 2018-07-10 15:17:03 · 657 阅读 · 0 评论 -
Python之ImportError: DLL load failed: 找不到指定的模块问题解决
环境说明Window 7, Python 3.6.5问题描述在基于python来进行import之时,报出如下的错误:>> from PIL import ImageTraceback (most recent call last): File "<ipython-input-12-0f6709e38f49>", line 1, in <...原创 2018-07-10 14:11:53 · 258496 阅读 · 38 评论 -
Scrapy学习资料推荐
推荐资料简明教程 https://www.tutorialspoint.com/scrapy/index.htm 示例代码 https://www.programcreek.com/python/原创 2018-05-06 19:01:08 · 2067 阅读 · 0 评论 -
Scrapy中如何实现迭代爬取的思路实现
引言爬虫设计思路代码实现总结引言 在Scrapy进行数据爬取的时候,直接能够爬取到目标数据的概率不大,一般都是需要通过几层URL地址的爬取,才能最终获取到想要的结果数据,那该如何实现这些目标呢?爬虫设计思路 在Scrapy中定义的Request和FormRequest对象都提供了callback字段,运行在爬取网页之后,可以执行callback方法,...原创 2018-05-06 18:30:49 · 2859 阅读 · 0 评论 -
Scrapy之爬取结果导出为Excel的快速指南
引言基于Scrapy来爬取数据只是手段,这些爬取的结果需要按照一定的方式导出或者存储到数据库中,excel是在日常工作中使用最为广泛的工具之一,本文介绍如何来讲爬取结果存储excel文件。环境介绍Python 3.6.1 Scrapy 1.5.0定义Domain对象定义爬取数据对象的实体类:import scrapyclass EnrolldataItem(sc...原创 2018-05-06 17:57:49 · 8572 阅读 · 2 评论 -
Scrapy之迭代爬取网页中失效问题分析
引言问题的提出问题分析问题的解决总结引言在Scrapy中,在很多种情况下,需要一层层地进行爬取网页数据,就是基于url爬取网页,然后在从网页中提取url,继续爬取,循环往复。 本文将讲述一个在迭代爬取中,只能爬取第一层网页的问题。问题的提出 scrapy crawl enrolldata Scrapy代码执行结果输出如下: “` ...原创 2018-05-06 17:37:40 · 3550 阅读 · 0 评论 -
Scrapy中诡异xpath的匹配内容失效问题分析
引言在爬虫的世界里,xpath是一种非常简单易用的匹配规则,方便我们在web世界里提取需要的各类信息。本文将讲述一个xpath规则无效的问题分析过程。环境介绍Python 3.6.1 Scrapy 1.5.0问题在选用xpath之时,都是基于firefox或者chrome中自带的Web开发工具来选取的。这里一般推荐使用chrome的devtool,功能强大,简单易用,童叟...原创 2018-05-06 16:38:44 · 4273 阅读 · 1 评论 -
JuypterLab简明教程
JuypterLabJupyter Lab究竟有哪些新的特性让整个Python业界如此兴奋呢?IDE 它是一个名副其实的IDE,且是一个基于网页的IDE(保留了全部的notebook特性)。我个人认为仅仅凭借这一条,Jupyter项目就是一个飞跃。这个集成环境不仅有Console,还有IPython Terminal、所有开发所用到的资源(如图片、代码、文本等)、插件库等。MarkD...原创 2018-03-29 16:48:12 · 8761 阅读 · 0 评论 -
基于Selenium自动爬虫电商上的数据
selenium一个功能强大的自动化测试工具,当然这里不用做自动化测试,而是用来进行自动化的爬取数据的。前置安装首先需要安装ChromeDriver,这里也可以安装Firefox的driver。 安装地址: https://sites.google.com/a/chromium.org/chromedriver/ 提示信息: 建议大家自行寻找人肉翻=墙的工具,自行下载。Fi...原创 2018-07-24 14:11:53 · 717 阅读 · 0 评论 -
爬取电商站点上所有的商品列表信息
爬取描述爬取某电商上的所有python的关键字信息,这里主要是指图书,每个图书只需要名称和所属的店铺名称信息即可。实现这里直接上代码:from selenium import webdriverimport pandas as pdfrom urllib.parse import quotefrom selenium.webdriver.common.by impor...原创 2018-07-24 14:26:41 · 3452 阅读 · 0 评论 -
Web Crawler与Scrap技术分析
Scrapy与无头浏览器Scrapy Middleware Casezhihu demojs seleniumScrapy Middleare Case2Scrapy Middleware Case3Multi Queue in ScrapyAdvanced Scrapying TipsWeb Scrapying tips自动识别验证码 ...原创 2018-09-06 18:15:43 · 1086 阅读 · 0 评论 -
Python的协程
Python的并发Python中由于存在GIL的问题,所以其在多线程上无法充分发挥多核的优势和威力,一般都会推荐使用多进程的方式来发挥多核的效率。 除了多进程的方式之外,还可以使用coroutine协程的方式来提升并发的处理效率。进程、线程和协程参考文章: https://www.cnblogs.com/zhaof/p/7536569.html这篇文章关于进程、线程和协程之间...原创 2018-08-30 15:48:16 · 342 阅读 · 0 评论 -
Python语言中的常用技巧
技巧罗列一下,以备后续常用包装与解包a = (1,2,3)x,y,z = a判断元素是否存在## check whether it exists.bb = ['a', 'b', 'c']if 'a' in bb: print("let it be...")cc ={'a': 'a', 'b':'b', 'c':'c'}print('c' in c...原创 2018-08-13 21:00:08 · 364 阅读 · 0 评论 -
Python之Anaconda启动过程中的异常错误的解决
Anaconda一个非常优秀的python发行版本。问题的提出某天,忽然发现,启动spyder之后,一直在Connecting to Kernel, Loading起来没完没了,本质上就是连接不上了。 启动IPython之时,报出如下的错误信息: ERROR:tornado.general:Uncaught exception in ZMQStream callbackT...原创 2018-08-13 20:13:21 · 18562 阅读 · 3 评论 -
Pyspider启动过程中的问题ssl/nss错配问题
pysider的配置pyspider, centos 7.4 , python 3.6.5问题的提出在启动pyspider的过程中,碰到如下的问题: 其中的信息如下:[root@AY131203102210033c39Z ~]# pyspider[W 180813 11:23:41 run:413] phantomjs not found, continue running w...原创 2018-08-13 11:33:38 · 2233 阅读 · 1 评论 -
PyCurl安装过程中的问题记录分析
Pyspider & Pycurlpyspider是一个大名鼎鼎的爬虫框架,在安装过程中,碰到了pycurl的相关问题,现在记录如下,方便后续参考。 说明: pyspider在windows 7下的安装可以正常,但是运行过程中,会报出不同的错误信息,不建议在windows上运行。环境说明Centos 7, Python 3.6.5分析过程pip install...原创 2018-08-13 11:11:36 · 2528 阅读 · 0 评论 -
Scrapy之AttributeError: 'str'/"list" object has no attribute 'xpath'问题分析
环境介绍Scrapy 1.5.1 , Python 3.6.5问题描述在调用过程中,会报出以下错误信息:'str' object has no attribute 'xpath'在代码中,尝试对于Selector对象调用xpath方法,选取特定的Web元素节点。 代码示例如下: def parse_item(self, response): ...原创 2018-08-10 17:55:59 · 26507 阅读 · 1 评论 -
Pyenv--优秀的Python多版本管理工具
引言在python的世界里,其实是分裂的,有Python2, 还有Python3,于是在两者之间的切换也是非常麻烦的,有时候,也想安装一下最新的版本,该如何来做呢?好吧,这里Pyenv来拯救你。环境说明CentOS 7.4准备基础环境 yum install -y readline readline-devel readline-static openssl op...原创 2018-08-10 17:45:05 · 2378 阅读 · 0 评论 -
CentOS上安装Selenium和google Driver的过程以及问题记录
引言Selenium主要用在自动化测试中,但是也可以用在爬取数据中,由于其实真实的浏览器,则可以无缝地提取数据,而无需担心各类的数据屏蔽,这里主要介绍在CentOS上安装它们的过程以及其中碰到的各类问题记录。环境介绍CentOS 7.4 , Selenium 3.13.0, google chrome, Gecko Driver,这里以google的chrome为例,Gecko的过...原创 2018-08-10 17:20:08 · 27419 阅读 · 7 评论 -
基于Flask的最简Web请求
引言: Python功能强大,可以用来进行Web服务的开发,这里将给出一个最简单的示例,仅做参考。Flask这里使用了Flask作为Web服务的框架,其简单精悍,非常易学易用。示例代码代码如下:import logging.configimport jsonfrom flask import Flaskfrom flask import make_response...原创 2018-08-10 16:47:36 · 625 阅读 · 0 评论 -
Nodejs之NPM常用命令
NPM是Nodejs中的包管理工具,这里将npm中的常用命令记录一下,以备后续查询。npm查看npm的版本信息 npm version安装命令将包安装至全局类库 npm install -g package_name将包安装至本地目录,用以开发。 npm i package_name –save-dev~ 会匹配最近的小版本依赖包,比如...原创 2018-01-29 20:11:34 · 547 阅读 · 0 评论 -
基于Flask实现文件的上传功能的多实例Web服务
flask是Python中非常轻量的Web框架,允许开发者以非常少的代码实现各类的Web应用,本文将简单实例一个简单Web的文件上传功能的开发。环境介绍Centos 7.2, virtual env 下的python 3。安装flask pip3 install flask pip3 install flask_uploads这里安装了flask相关的组件...原创 2018-01-30 15:16:31 · 2913 阅读 · 0 评论 -
Flask中如何简便从Request中提取请求的参数值
引言: Flask是Python非常著名的微服务Web框架,但是其并未提供简便的从Request中提取参数的方式,本文将介绍一种简便的方式。原创 2017-04-24 17:30:30 · 20176 阅读 · 0 评论 -
Web浏览器中动态添加修改HTML页面代码的问题分析
引言:在Web的世界里,浏览器加载页面,展示给用户最终的内容,可是最终展示的HTML代码与服务器上存储的代码一致吗?原创 2017-04-20 23:44:51 · 8889 阅读 · 0 评论 -
在Centos 7下安装MariaDB简明教程
引言: 本文将简要介绍如何在CentOS 7的环境下,安装Mariadb,配置用户和访问权限等类似操作。 CentOS Cent OS是业界中大名鼎鼎的RedHat红帽系统的开源编译版本,站在巨人的肩上是可以看得更高更远, 由于RedHat的Linux系统非常稳定和强大,且已经得到了业界的普遍认可,这一点从Red Hat的公司业绩就一目了然得感觉到。由于Red Hat Linux系统...原创 2017-04-30 22:21:10 · 8869 阅读 · 2 评论 -
程序员之数据分析Python技术栈
引言: Python是一种非常流行的脚本语言,其还提供了一个科学技术栈,可以进行快捷方便的数据分析,本系列文章将聚焦在如何使用基于Python的技术栈来构建数据分析的工具集合。工欲善其事,必先利其器,让我们来看看这些工具吧。原创 2017-04-30 22:04:13 · 9474 阅读 · 0 评论 -
Python下Flask-ApScheduler快速指南
引言:Flask是Python社区非常流行的一个Web开发框架,本文将尝试将介绍APScheduler应用于Flask之中。原创 2017-04-18 09:59:11 · 21556 阅读 · 3 评论 -
Python下APScheduler的快速指南
引言:在编程语言中,定时任务是常用的一种调度形式,在python中也涌现了非常多的调度模块,本文将简要介绍APScheduler的基本使用方法。原创 2017-04-18 07:48:54 · 26367 阅读 · 2 评论 -
Python SQLite3的问题sqlite3.ProgrammingError: SQLite objects created in a thread can only be used in th
引言: SQLite是基于文件系统的mini数据库,我们用以存放简便的数据,本文将描述在代码中碰到的并发问题。原创 2017-04-18 00:27:57 · 15900 阅读 · 1 评论 -
CentOS 7从Python 2.7升级至Python3.6.1
引言: Centos是目前最为流行的Linux服务器系统,其默认的Python 2.x,但是根据python社区的规划,在不久之后,整个社区将向Python3迁移,且将不在支持Python2, 那该如何平滑迁移至Python3 呢?原创 2017-04-11 20:12:14 · 21556 阅读 · 13 评论 -
Laszlo的编码总结
view视图中的option的使用: ignore可以将默认的layout忽视,而使用绝对的布局。同样的一个显示效果,比如字体/颜色/大小等等,会因为所用操作系统/浏览器的不同而有不同的显示效果;即使像flash player这样的虚拟机依然会有同样的问题,很多时候是其存在的缺陷原创 2011-07-06 22:50:18 · 834 阅读 · 0 评论 -
Python之Headers value 1 must be of type str or bytes, not <class 'int'>错误的解决
Python之Headers value 1 must be of type str or bytes, not <class 'int'>错误的解决原创 2017-04-25 14:52:04 · 18194 阅读 · 4 评论 -
基于Python, Selenium, Phantomjs无头浏览器访问页面
引言: 在自动化测试以及爬虫领域,无头浏览器的应用场景非常广泛,本文将梳理其中的若干概念和思路,并基于代码示例其中的若干使用技巧。原创 2017-04-26 01:18:48 · 14363 阅读 · 0 评论 -
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
引言: Tensorflow大名鼎鼎,这里不再赘述其为何物。这里讲描述在安装python包的时候碰到的“No matching distribution found for tensorflow”,其原因以及如何解决。简单的安装tensorflow这里安装的tensorflow的cpu版本,gpu版本可以自行搜索安装指南,或者参考如下指令: pip3 install tenso原创 2018-01-05 14:10:13 · 312099 阅读 · 40 评论 -
CentOS 7下的VirtualEnv的安装配置简明教程
引言: 在目前的Linux系统中,默认使用的都是Python 2.7.x的版本环境,如何想要在其上基于Python3的环境来进行开发,则需要基于VirutalEnv来构建独立的开发环境。1. 环境介绍 CentOS 7, Python 2.7, Python 3.62. 下载安装virutalenv >> pip install virtualenv[root@xx...原创 2017-04-24 15:10:06 · 16970 阅读 · 0 评论 -
Python问题分析:AttributeError: module 'sys' has no attribute 'setdefaultencoding'
问题描述AttributeError: module 'sys' has no attribute 'setdefaultencoding'样例代码import syssys.setdefaultencoding('utf-8')问题分析目前的Python版本是3.6.1,其默认的编码格式是utf-8。 》import sys 》sys.getdefaultencoding()原创 2017-12-13 17:57:20 · 31782 阅读 · 4 评论 -
Mac下xcrun: error: invalid active developer path问题解决方法
引言: Mac系统下运行git之时的错误问题之解决办法问题起源在mac下,需要下载github下的某个项目: git clone xxx但是报出了错误信息。错误信息如下:xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Dev原创 2017-12-10 21:38:48 · 93557 阅读 · 15 评论