Browsing: Python

Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。

Web Scraper——轻量数据爬取利器 https://www.cnblogs.com/web-scraper 日常学习工作中,我们多多少少都会遇到一些数据爬取的需求,比如说写论文时要收集相关课题下的论文列表,运营活动时收集用户评价,竞品分析时收集友商数据。 当我们着手准备收集数据时,面对低效的复制黏贴工作,一般都会萌生一个想法:我要是会爬虫就好了,分分钟就把数据爬取下来了。可是当我们搜索相关教程时,往往会被高昂的学习成本所劝退。拿现在最通用的 python 爬虫来说,对于小白来说往往要跨过下面几座大山: 学习一门编程语言:python 学习网页的基础构成——HTML 标签和 CSS 选择器,有时候还要了解一些 JavaScript 学习网络通信的基础协议——HTTP 协议 学习 python 中常见的爬虫框架和解析库 …… 上面的知识点,没有几个月是掌握不完的。而且对于非强需求的人来说,这么多的知识点,你还会时时刻刻和遗忘做斗争。 那么有没有不学 python 也能爬取数据的利器呢?结合文章标题,我想你已经知道我要安利什么了。今天我要推荐的就是Web Scraper,一个轻量的数据爬虫利器。…

前言: 几个月前,应朋友要求,写了一个linkedin爬虫,难度不大,但功能还算好玩,所以就整理了一下放出来了。代码见Github:LinkedinSpider。 爬虫功能:输入一个公司名称,抓取相关员工的linkedin数据,字段见下方截图。 正文: 先来说一下linkedin的限制: 不登录的状态,不能进行搜索,但是可以查看某个用户的linkedin信息(不够全)。 linkedin可以搜用户(最多显示100页),也可以搜公司,但不能查看公司下面的员工信息(显示的是“领英会员”,没有权限查看详细内容,要求先建立联系,如下图,可能开通linkedin高级账号可以查看,未知)。 那么如果要抓取某个公司员工的linkedin信息,该怎么做? 方法一、银子多,开通高级账号也许可以查看。 方法二、去搜linkedin用户,尽量抓取全量的linkedin用户,从中筛选出某公司的员工。(难度在于如何搜用户,并且因为页数限制,几乎无法抓取全量)。 方法三、借助第三方平台。暂时未发现哪些网站有用到linkedin的数据,但是灵机一动想到了百度收录!我们用百度搜索,搜某个公司名,域名要求linkedin.com(例如抓取对象为百度,可以在百度搜索中搜 “百度 site:linkedin.com”),从中筛选出linkedin用户ID,有了用户ID我们就可以直接去linkedin抓员工信息了。 我们现在用的就是方法三。说一下爬虫流程: 先登录linkedin,带着linkedin的Cookie进行百度搜索,从中筛选出linkedin用户的(跳转到linkedin的)跳转链接,然后抓取、解析。 注意:为了抓取到最新的数据,一般不直接抓取百度收录到的内容,只是通过百度收录抓取到用户ID;另外,要待着linkedin的Cookie去打开搜索出来的链接,不然会跳转到linkedin登录页面,或者抓取到的信息不全。 结语: 代码放在Github,链接上文有提。此文主要作注释说明。 这只是一个小爬虫,我想要分享的,不仅仅是linkedin的登录、linkedin数据的抓取和解析,更重要的,是通过百度收录抓取目标数据这个方法。 对于做爬虫,或者是想学爬虫的同学来说,路子一定要宽,只要能够保证数据准确、完整,应该从各个途径去嗅探、抓取数据,抓取难度越小、速度越快,就越好!…

1、需求 最近受人之托,帮忙用python开发程序实现爬取大连海事大学信箱的2000条数据(主题和意见建议)保存到excel中。 2、项目分析 首先,我们打开信箱列表链接http://oa.dlmu.edu.cn/echoWall/listEchoWall.do如图所示: 但是列表页中只有主题,获取意见建议必须进入到详情页面,当点击某一条时发现跳转到登录页面                     https://id.dlmu.edu.cn/cas/login,这就说明获取想要的数据必须登录之后才可以,如图所示: 我们打开chrome的开发者工具,填写好提前准备好的账户密码,点击登录,在开发者工具中查看登录的请求如下所示: 通过观察我们发现登录过程中除了输入的账户密码还有其他的几个参数,其中有几个参数为空,说明可以不用传。 接着往下看登录成功之后,直接跳转到详情页面: 通过观察我们可以看到在请求详情页面时候带有cookie,还有其他参数4个,经过测试我们发现只要带pkId这个参数就可以获取到详情页面,pkId可以在列表页中获取到。 至此,整个请求的过程我们已经分析完毕。…

阿里云STS token浅析 阿呆少爷 关注 非常想搞明白STS token在端上是如何使用的。因为OSS跟STS联系比较紧密,所以把这两个家伙一起研究了一下。里面有一些环节我现在也没搞太明白,只是记录一下,以后搞明白了再完善。 配置账号及角色 去RAM里面设置好子账号和角色,子账号需要AliyunSTSAssumeRoleAccess权限,角色需要AliyunOSSFullAccess权限。子账号需要有扮演OSS存取这个角色的能力,成功扮演该角色之后,就具有操作OSS资源的能力了。关于用户和角色关系,RAM和STS介绍里面有比较详细的描述。 这里有一个坑是角色一定要选择用户角色。之前错误选择了服务角色,导致AssumeRole一直提示无权限。 screenshot.png 获取STS token 安装好Python SDK。Python测试起来比较方便。 pip install oss2 运行脚本,获取STS token。 #!/usr/bin/env python…

导读:毋庸置疑,数据备份是网站可持续性运营中至关重要的一个工作,如果还没有做任何备份机制的网站,建议尽早完善,莫要等到追悔莫及。本文将分享一个安全稳定、快速可靠、花费廉价的备份方案。 一、优点分析 张戈博客在 2 年前已经分享过一篇关于网站备份的文章:《Linux/vps 本地七天循环备份和七牛远程备份脚本》,今天将再次结合这个脚本,将网站数据通过阿里云内网备份到阿里云 OSS。 对于阿里云 OSS,想必大家都不会陌生,具体功能、特色这里就不赘述了。而利用阿里云 OSS 备份数据的教程方法,网络上已有不少分享,各种开发语言都有,用起来非常方便。 在我看来,用什么语言都是其次,主要还是看重了阿里云 ECS 到阿里云 OSS 可以走内网,相比我之前分享的备份到七牛的方案,速度更快而且流量免费! 我博客之前一直将数据每周一凌晨备份一份到七牛,也不敢每天都备份,因为备份的时候由于服务器上行带宽只有 1M,就算是切片上传也会导致此时网站访问缓慢,影响蜘蛛抓取!所以,当我看到 OSS 可以走内网时,第一个想到的好处就是速度快,不影响服务器公网带宽,对网站的访问毫无影响,超赞!…

2016-03-28 发布 一个结合crontab定时推送github或coding库小玩意  gogit  2.5k 次阅读  ·  读完需要 4 分钟 0 gogit 一个结合crontab定时推送github或coding库小玩意。 Github:https://github.com/HavenShen/gogit 注:运行此玩意的电脑,必须可运行python、已经配置好github和coding使用ssh key 无密钥通道git的ssh获取方式(推荐使用常年不关机的linux服务器)。 配置参考:Git配置安装使用教程操作github上传克隆数据 安装…

这篇教程将介绍如何使用Python扒妹子图片并自动发布的自己的wordpress图片网站,图片将保存到chevereto图床,图站分离。所以要完成此教程的前提是你已经拥有一个chevereto图床网站和一个wordpress网站。wordpress网站的搭建非常简单,这里就不介绍了,另外如何搭建chevereto图床网站,可以参考我的这篇博客:chevereto图床程序免费版安装教程。 教程的爬虫目标网站是:http://www.mm131.com ,爬虫的源码如下: #!/usr/bin/python #-*- coding : utf-8 -*- import mimetypes,json import requests import re,os,threading,time,pymysql class wordpress_post: def __init__(self,tittle,content): self.tittle=tittle self.content=content…

Python爬虫从入门到实战 实战教程: 什么是网络爬虫 什么是http和https协议 网络请求之urllib网络请求库 数据解析之XPath语法和lxml模块 数据解析之BeautifulSoup4解析库 数据解析之正则表达式和re模块 数据存储之json文件处理和csv文件处理 数据存储之使用mysql数据库存储数据 数据存储之使用Mongodb数据库存储数据 爬虫进阶之多线程爬虫 爬虫进阶之动态网页(Ajax)数据抓取 爬虫进阶之图形验证码识别技术 爬虫框架之Scrapy入门篇 Scrapy爬虫框架之CrawlSpider爬虫 Scrapy-redis分布式组件之redis数据库 Scrapy爬虫框架之Request和Response(请求和响应) Scrapy爬虫框架之下载器中间件(可设置随机请求头和随机代理IP)…

python爬取网站全部url链接 版权声明:本文为博主原创文章,转载请标明作者和原链接 https://blog.csdn.net/gyq1998/article/details/80092652 对于安全人员来说,了解网站的url目录结构是首要的,御剑是一个很好用的工具,下载地址:https://download.csdn.net/download/gyq1998/10374406 御剑自带了字典,主要是分析字典中的网址是否存在,但是可能会漏掉一些关键的网址,于是前几天用python写了一个爬取网站全部链接的爬虫。 实现方法 主要的实现方法是循环,具体步骤看下图: 贴上代码: # author: saucer_man # date:2018-04-24 # python3.6 import re import requests #…

爬虫:CSDN文章批量抓取以及导入WordPress 置顶 2016年11月07日 00:04:27 Simael__Aex 阅读数:3656 标签: python爬虫 更多 个人分类: python 版权声明:转载请注明出处:http://blog.csdn.net/m0sh1 http://blog.share345.com/ https://blog.csdn.net/m0sh1/article/details/53058195 学习python 写了个简单的小功能: CSDN文章批量抓取以及导入WordPress 代码地址: https://github.com/ALawating-Rex/csdn_wordpress_posts_import 原文写到了:http://blog.share345.com/2016/10/04/csdn-wordpress-posts-import.html…

Python爬虫——4-3.BeautifulSoup4(BS4) https://blog.csdn.net/liyahui_3163/article/details/79049434 对于HTML/XML数据的筛选,BeautifulSoup也是比较常用且使用简单的技术,BeautifulSoup是一种非常优雅的专门用于进行HTML/XML数据解析的一种描述语言,可以很好的分析和筛选HTML/XML这样的标记文档中的指定规则数据 在数据筛选过程中其基础技术是通过封装HTML DOM树实现的一种DOM操作,通过加载网页文档对象的形式,从文档对象树模型中获取目标数据 BeautifulSoup操作简单易于上手,在很多对于数据筛选性能要求并不是特别苛刻的项目中经常使用,目前市场流行的操作版本是BeautifulSoup4,经常称BS4 一、Xpath和BeautifulSoup4 Xpath和BeautifulSoup都是基于DOM的一种操作模式 不同点在于加载文档对象模型DOM时出现的文档节点遍历查询操作过程,Xpath在进行遍历操作时针对描述语言指定的语法结构进行局部DOM对象树的遍历得到具体的数据,但是BS4在操作过程中,会将整个文档树进行加载然后进行查询匹配操作,使用过程中消耗资源较多,处理性能相对Xpath较低 那么为什么要用BS4呢?因为,它,足够简单! 描述语言 | 处理效率 | 上手程度 正则表达式 | 效率非常高 | 困难 Xpath | 效率很高 | 正常 BS4 | 效率较高| 简单 BS4本身是一种对描述语言进行封装的函数操作模块,通过提供面向对象的操作方式将文档对象中的各种节点、标签、属性、内容等等都封装成了python中对象的属性,在查询操作过程中,通过调用指定的函数直接进行数据 匹配检索操作,非常的简单非常的灵活。 一般BS4将HTML文档对象会转换成如下四种类型组合的文档树 * Tag:标签对象…

Python爬虫入坑笔记 – XPath快速定位网页内容 XPATH语句可以用来快速定位一个XML文本中的内容,当然也可以是HTML文本,这里我们使用lxml库来解析,达到快速批量获取网页相似内容的功能 安装 $ pip install lxml 基本使用 假设匹配出网页所含所有图片的链接 from lxml import etree import requests html = requests.get(‘http://www.lzu.edu.cn’).content.decode(‘utf-8’)…

Python获取网页指定内容(BeautifulSoup工具的使用方法) Python用做数据处理还是相当不错的,如果你想要做爬虫,Python是很好的选择,它有很多已经写好的类包,只要调用,即可完成很多复杂的功能,此文中所有的功能都是基于BeautifulSoup这个包。 1 Pyhton获取网页的内容(也就是源代码) page = urllib2.urlopen(url) contents = page.read() #获得了整个网页的内容也就是源代码 print(contents) url代表网址,contents代表网址所对应的源代码,urllib2是需要用到的包,以上三句代码就能获得网页的整个源代码 2 获取网页中想要的内容(先要获得网页源代码,再分析网页源代码,找所对应的标签,然后提取出标签中的内容) 2.1 以豆瓣电影排名为例子 网址是http://movie.douban.com/top250?format=text,进入网址后就出现如下的图…

http://www.runoob.com/python/python-install.html Python 环境搭建 本章节我们将向大家介绍如何在本地搭建Python开发环境。 Python可应用于多平台包括 Linux 和 Mac OS X。 你可以通过终端窗口输入 “python” 命令来查看本地是否已经安装Python以及Python的安装版本。 Unix (Solaris, Linux, FreeBSD, AIX, HP/UX, SunOS, IRIX,…