python爬虫
文章平均质量分 64
许雪凯
python工程师,精通爬虫,web开发,前端等python语言相关的工作
展开
-
初识python爬虫
1,爬虫的定义:模拟客户端发送请求,并获取响应,理论上来说,客户端能做的事情,一般爬虫都能做。2,爬虫的分类:分为通用爬虫和聚焦爬虫通用爬虫:搜索引擎的爬虫,一般爬取多个网站,例如百度,新浪新闻等聚焦爬虫:针对某个特定的网站,爬取需要的数据3,爬虫的工作流程:4,第一个爬虫(爬取百度首页源代码)解释:首先必须对python基础有一定的了解,并安装pycharm等编辑器,并且我们这里运用的pytho...原创 2018-02-26 11:43:53 · 424 阅读 · 0 评论 -
python爬虫并发并行下载
1一百万个网站1用普通方法解析Alexa列表2复用爬虫代码解析Alexa列表2串行爬虫3并发并行爬虫0并发并行工作原理1多线程爬虫2多进程爬虫4性能对比这篇将介绍使用多线程和多进程这两种方式并发并行下载网页,并将它们与串行下载的性能进行比较。1一百万个网站亚马逊子公司Alexa提供了最受欢迎的100万个网站列表(http://www.alexa.com/topsites ),我们也可以通过http...转载 2018-04-11 10:46:27 · 2595 阅读 · 0 评论 -
提取JS动态网页数据
动态网页示例对加载内容进行逆向工程1通过开发者工具的逆向工程2通过墨盒测试的逆向工程21搜索条件为空时22用号匹配时22用号匹配时渲染动态网页1使用WebKit渲染引擎2使用Selenium自定义渲染现在大部分的主流网站都用JavaScript动态显示网页内容,这样使得我们之前提取技术无法正常运行。本篇将介绍两种提取基于JS动态网页的数据。JavaScript逆向工程渲染JavaScript1.动...转载 2018-04-11 10:46:09 · 900 阅读 · 0 评论 -
验证码处理
获得验证码图片光学字符识别验证码用API处理复杂验证码1 9kw打码平台11 提交验证码12 请求已提交验证码结果12与注册功能集成验证码(CAPTCHA)全称为全自动区分计算机和人类的公开图灵测试(Completely Automated Public Turing test to tell Computersand Humans Apart)。从其全称可以看出,验证码用于测试用户是真实的人类还...转载 2018-04-11 10:45:28 · 442 阅读 · 0 评论 -
scrapy框架
安装Scrapy新建项目1定义模型2创建爬虫3优化设置4测试爬虫5使用shell命令提取数据6提取数据保存到文件中7中断和恢复爬虫使用Portia编写可视化爬虫1安装2标注3优化爬虫4检查结果使用Scrapely实现自动化提取1.安装Scrapy用pip命令安装Scrapy:pip install Scrapywu_being@ubuntukylin64:~/GitHub/WebScrapingW...转载 2018-04-11 10:44:24 · 333 阅读 · 0 评论 -
爬取糗事百科段子(纯代码)
#-*- coding:utf-8 -*-import requestsfrom lxml import etreeimport jsonclass Qiushi: def __init__(self): self.headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKi" ...原创 2018-04-11 10:43:09 · 325 阅读 · 0 评论 -
关于正则表达式
re.S表示匹配换行符 re.I表示忽略大小写忽略转移符号带来的转移原创 2018-04-11 10:56:37 · 133 阅读 · 0 评论 -
scrapy同时启动多个爬虫
一、创建spider 1、创建多个spider,scrapy genspider spidername domainscrapy genspider CnblogsHomeSpider cnblogs.com 通过上述命令创建了一个spider name为CnblogsHomeSpider的爬虫,start_urls为http://www.cnblogs.com/的爬虫 2、查看项目下有几...转载 2018-04-10 17:15:00 · 5811 阅读 · 0 评论 -
Scrapy可视化管理软件SpiderKeeper
通常开发好的Scrapy爬虫部署到服务器上,要不使用nohup命令,要不使用scrapyd。如果使用nohup命令的话,爬虫挂掉了,你可能还不知道,你还得上服务器上查或者做额外的邮件通知操作。如果使用scrapyd,就是部署爬虫的时候有点复杂,功能少了点,其他还好。SpiderKeeper是一款管理爬虫的软件,和scrapinghub的部署功能差不多,能多台服务器部署爬虫,定时执行爬虫,查看爬虫日...转载 2018-04-10 17:11:59 · 457 阅读 · 0 评论 -
爬取网易财经中股票的历史交易数据
爬取网易财经中股票的历史交易数据需求分析得到股票代码股票代码的信息是在东方财富网中获取(http://quote.eastmoney.com/stocklist.html)得到股票的历史交易记录股票的历史交易记录是可以在网易财经中直接下载excel表的,地址(http://quotes.money.163.com/trade/lsjysj_603088.html#06f01)这是某一股票的历史交易...转载 2018-04-15 22:17:02 · 13099 阅读 · 4 评论 -
scrapy爬虫利用selenium实现用户登录和cookie传递
scrapy爬虫利用selenium实现用户登录和cookie传递1. 背景上篇讲解了如何在scrapy中集成selenium爬取一些特别复杂的页面(传送门:https://blog.csdn.net/zwq912318834/article/details/79773870),而事实上,在平时的爬取任务中,往往登录过程是最复杂的,其他页面相对来说比较简单。如果把过多的时间花费在破解登录上,得不偿...转载 2018-04-15 22:19:40 · 6701 阅读 · 1 评论 -
如何在scrapy中集成selenium爬取网页
如何在scrapy中集成selenium爬取网页1.背景我们在爬取网页时一般会使用到三个爬虫库:requests,scrapy,selenium。requests一般用于小型爬虫,scrapy用于构建大的爬虫项目,而selenium主要用来应付负责的页面(复杂js渲染的页面,请求非常难构造,或者构造方式经常变化)。在我们面对大型爬虫项目时,肯定会优选scrapy框架来开发,但是在解析复杂JS渲染的...转载 2018-04-16 13:31:03 · 905 阅读 · 0 评论 -
Gerapy分布式爬虫管理框架详解,国人开发的好用的爬虫框架
从 Scrapy 的部署、启动到监控、日志查看,我们只需要鼠标键盘点几下就可以完成,那岂不是美滋滋?更或者说,连 Scrapy 代码都可以帮你自动生成,那岂不是爽爆了?有需求就有动力,没错,Gerapy 就是为此而生的,GitHub:https://github.com/Gerapy/Gerapy。安装Gerapy 是一款分布式爬虫管理框架,支持 Python 3,基于 Scrapy、Scrapy...原创 2018-04-10 16:13:40 · 1156 阅读 · 0 评论 -
selenium与phantomjs,爬虫利器
1,获取请求driver.get(url)2,退出driver.quit()3,获取id元素driver.find_element_by_id("id")4,获取input标签的id并输入内容 driver.find_element_by_id("id").send_kesy("")5,获取确定或点击等按钮,做点击事件driver.find_element_by_id("id").click()6...原创 2018-04-10 16:24:15 · 662 阅读 · 0 评论 -
爬虫遇到异常怎么发送邮件
原创 2018-04-10 16:29:41 · 895 阅读 · 0 评论 -
requests模拟登录的三种方法
1.利用session模拟登陆首先我们看一下requests中session的使用方法我们来爬一下人人网首页的代码,其代码如下:其中post_url是我们点击登陆时,该页面需要跳转的页面url,具体查找方式如下:我们来到登陆页面,在输入栏的地方右键点击检查,找到form表单中的action,就是我们想要得到的url地址post_data数据是以字典的方式发送,其中的键就是我们标签中的name标签...原创 2018-04-10 16:37:04 · 4110 阅读 · 0 评论 -
python爬虫初级,requests基本用法
1,requests的作用: 发送网络请求,返回响应数据2,那为什么使用requests,而不是urllib? 1,requests的底层实现就是urllib 2,requests在python2和python3中通用,方法完全相同 3,requests简单易用 4,requests能够自动帮助我们解压网页内容3,使用方法举例 使用终端打开ipython3...原创 2018-04-10 16:52:30 · 1568 阅读 · 0 评论 -
利用百度打造自己的百度终端翻译
因为我们利用的是百度翻译,而我们发送的也是一个post请求,所以利用requests.get方法肯定是不能达到目的,我们需要使用requests.post方法。以下是post方法所用到的参数:data就是我们需要发送的参数我们看看我们怎么样通过浏览器发送的post请求,利用谷歌浏览器:我们关注Form Data里面的内容:这里就是我们post请求所需要的data数据,但是不难看出,sign和tok...原创 2018-04-10 16:54:04 · 324 阅读 · 0 评论 -
利用flask构造爬虫接口(python初级)
爬虫很多时候除了能够做成项目在服务器上跑以外,还可以做成接口的形式够其他语言调用,即爬虫可以实时的镶嵌到app,web或者其他场景下,当有客户调用时就会启动,无人调用时,就静静的待着。下面说一下利用python中的flask框架来写一个简单的爬虫来供其他语言调用。初级入门很简单的web框架和爬虫之间的结合应用。如果有其他的应用需求,请自行研究。首先,导包不解释了,自行安装flask就可以了。...原创 2018-08-23 17:17:51 · 6406 阅读 · 0 评论