
爬虫
文章平均质量分 52
二哥带你学编程
这个作者很懒,什么都没留下…
展开
-
python第一个项目:爬取一个网站的所有图片
第一个问题:知乎网址需要登陆才能爬取。原创 2018-12-04 21:24:49 · 2006 阅读 · 0 评论 -
使用python将信息发送到QQ邮箱
我们在写爬虫的时候,爬取的信息很多都是每天在变化的,但是要是每天都打开爬虫爬那么一次,就会显得非常不优雅。这个时候我们就可以利用python的email库(书写邮件)或itchat(链接微信库)还有smtplib(简单邮件传输协议库)实现程序自动化在写代码之前,首先要有一些准备条件,那就是在qq邮箱中打开smtp服务,我用的是QQ邮箱,在设置/账户选项中找到这个字段打开POP3/SMTP服...原创 2019-04-05 20:36:30 · 1467 阅读 · 1 评论 -
强大的aiohttp异步爬虫的使用
aiohttp是一个为Python提供异步HTTP 客户端/服务端编程,基于asyncio(Python用于支持异步编程的标准库)的异步库。爬虫方面我们用的主要是客户端来发起请求,一般我们使用aiohttp和asyncio联合这两个异步库来写异步爬虫,其实可以把aiohttp 看作是异步版的requests库。这是aiohttp使用的最简单的例子import aiohttpimport a...原创 2019-03-20 19:30:25 · 305 阅读 · 0 评论 -
python使用asyncio内置库进行异步I/O
asyncio库参考文章asyncio库是python3.4后引入的标准库,其中直接内置了对异步IO的支持,asyncio的编程模型就是一个消息循环,我们直接从asyncio中获取一个eventloop,然后把需要运行的协程扔到eventloop这个消息循环中,就实现了异步操作,下面是使用asyncio异步实现helloworld的过程(这是在async/await 语法糖没出来之前的写法,可...原创 2019-03-20 16:27:48 · 658 阅读 · 0 评论 -
关于爬虫解析页面时的一些有意思的坑
** 爬虫比较关键的一步就是解析下载后的网页,我这几天在用的是requests-html库自带的xpath方法,但是我在爬取一个小说页面的时候遇到了困难,这是一个静态页面,我通过右键检查复制xpath路径,但是却得到了一个空对象,打开源代码,对比右键检查的代码,我发现两者之间居然不相同。有点意思的坑。**记录一下,免得再踩坑。...原创 2019-01-23 12:21:58 · 509 阅读 · 0 评论 -
python开发中的高级技巧
生成器#形成一个0到99的列表lists=[a for i in range(100)]字典推导式字典的每一个值平方dics1={'a':1,'b':2,'c':3}dics2={k:v**2 for (k,v) in dics1.items()}合并字典dics1={'a':1,'b':2,'c':3}dics2={'e':4,'f':5,'g':6}dics3={**d...转载 2019-01-02 22:29:07 · 112 阅读 · 0 评论 -
Splash 渲染引擎简介
Splash文档地址:http://splash.readthedocs.io/en/latest/api.htmlSplash渲染引擎有以下功能1.为用户返回经过渲染的HTML页面或页面截图2.并发渲染多个页面3.关闭图片加载,加速渲染4.在页面中执行用户自定义的JS脚本代码5.执行用户自定义的渲染脚本(lua)Splash有多个服务端点1.render.html端点请求地址...转载 2018-12-30 23:14:05 · 903 阅读 · 0 评论 -
scrapy框架使用splash渲染引擎爬取动态页面
1.启动docker,在命令行里输入docker run -p 8050:8050 scrapinghub/splash在docker上运行splash引擎2.接下来就可以来写爬虫文件了首先在setting里配置splash_url='http://loaclhost:8050'DUPEFLITER=‘scrapy_splash.SplashAwareDupeFilter’DOW...原创 2018-12-30 22:15:45 · 273 阅读 · 0 评论 -
模拟登陆github
目的:模拟登陆github工具:scrapy shell ,from scrapy.http import FormRequest流程:通过解析github登陆页面https://github.com/login利用chrome开发者工具截取信息1.先在登陆页面输一次账号密码,在表单里得到需要输入的参数,如图再结合页面的输入框,可知我们需要提交的表单要包含五个参数,其中需要我们人工...原创 2018-12-18 20:34:46 · 178 阅读 · 1 评论 -
科学使用scrapy shell
scrapy shell 的科学使用scrapy shell 是在scrapy网络爬虫开发时非常有用的测试工具在命令行里输入>scrapy shell url就可以获得这个网页返回的response进行以下操作这样对于一些对爬虫没有限制的网站是可行的,但是对于一些网站来说是会被制裁的,比如说豆瓣网这个时候我们就需要在这个里面添加headers这个时候我们需要这样提交ur...原创 2018-12-23 19:42:47 · 133 阅读 · 0 评论 -
利用cookie模拟登陆知乎
我们知道一些网站是需要账号密码才可以登陆的,例如知乎。而利用requests库里的get方法的headers参数可以达到这个目的首先在知乎的网页上登陆自己的知乎账号,利用chrome的开发者工具(F12)可以捕获我们的get方法向浏览器提供的cookie内容,以及user-agent内容将这两个信息复制下来,添加到我们向浏览器发出请求的get()方法的headers参数中可以这么写he...原创 2018-12-10 19:30:44 · 1002 阅读 · 0 评论 -
scrapy模拟登陆豆瓣网(处理验证码登陆)
我们知道有一些网站是需要验证码才可以登陆的,比如豆瓣网在错误输入几次账号密码后,都会需要提交包含验证码的表单才可以登陆,便需要处理验证码型登陆技术路径:scrapy爬虫框架。技术重点:还是scrapy的FormRequest方法。(由于由于不涉及到豆瓣网登陆后页面的解析(老生常谈的问题了)。我们只需要编写spider模块的代码就可以了。)我们给出代码# -*- coding: utf-8...原创 2018-12-20 19:49:47 · 329 阅读 · 0 评论 -
aiohttp异步爬虫爬取当当网最热书籍并导出excel
今天心血来潮,想看看异步爬虫的效率和普通爬虫的效率相比究竟如何,然后我选取了一个叫做当当网的购物网站,爬取最热门的书籍。1. 使用异步的原因我们都知道异步非堵塞适合高并发的项目,但是在python中最常用的requests库是同步的,这样每次都只能是等上一次请求返回才会进行下一次请求,这样就显然会限制住爬虫的效率,但是随着python一些异步库的更新完善,异步爬虫开始崭露头角。我们可以先看下两...原创 2019-04-06 16:32:49 · 883 阅读 · 0 评论