爬虫
LSYHhhhh
github 链接 - https://github.com/Lin-SiYu
展开
-
BUG - 数据爬取返回状态码“521”
目录一、521返回分析和处理思路总结二、代码实现2-1 安装必要依赖 - PyExecJS2-2 根据 521 返回数据生成新的 cookie2-3 捕获 521 错误,并重新发起请求一、521返回分析和处理思路总结521处理 - 参考链接浏览器访问网站时 第一次请求:返回521状态码和一段js代码。js会生成一段cookie并重新请求访问。 第二次请求:...原创 2019-06-18 12:02:44 · 6682 阅读 · 2 评论 -
Scrapy - IP 池
目录一、中间件的使用1-1 具体方法详解1-1-1process_request - 正常请求调用1-1-2process_response - 正常返回调用1-1-3process_exception - 捕获错误调用二、Proxy 相关官方中间件2-1HttpProxyMiddleware2-2 RetryMiddleware2-2-1 源码分析...原创 2019-06-06 17:16:22 · 3460 阅读 · 0 评论 -
爬虫 - scrapy 框架 - 基本爬取流程
目录一、项目启动二、Item 指定对象内容 - 类比 ORM三、Spider 爬取数据四、执行爬虫五、pipeline 数据数据库存储5-1 存储5-2 配置参数5-3 激活管道scrapy - 官方1.6版本文档一、项目启动scrapy 入门教程确认环境创建 scrapy 项目目录进入自定义目录创建项目目录scrapy start...原创 2019-06-05 15:37:56 · 1118 阅读 · 0 评论 -
爬虫 - BeautifulSoup4 模块 - 数据解析
目录一、BS4 简单介绍1-0 指定文档解析器1-1 BS4解析器 二、BeautifulSoup 类解析2-1 基本使用方式 - 遍历文档树三、Tag 对象介绍3-1 Tag 常用属性3-1-1 Name - Tag.name3-1-2 Attributes - Tag.attrs3-1-3 Text、String - Tag.text、Tag.strin...原创 2019-01-23 11:04:09 · 559 阅读 · 0 评论 -
爬虫 - Request模块 - 模拟请求获取数据
目录一、Request简单介绍1-1 支持请求API二、请求获取数据总结2-0 request方法2-1 GET 请求 - 直接获取页面信息2-2 POST 请求 - 发送数据用于请求2-2-1 POST请求模拟登陆 - github测试,手动处理cookie信息2-2-1 POST请求模拟登陆 - github测试,requests.session()处理cook...原创 2019-01-22 11:02:31 · 4789 阅读 · 0 评论 -
爬虫 - 项目学习 - 爬取免费视频链接 - 分页获取数据请求分析(request请求模拟,re分析数据,文件存储)
目录一、分类视频信息主页面分析二、程序代码一、分类视频信息主页面分析存在页面下滚,触发视频的更新,即网页发送get请求https://www.pearvideo.com/category_loading.jsp?reqType=5&categoryId=5&start=24&mrd=0.3802117356429201&filterI...原创 2019-01-22 09:58:02 · 573 阅读 · 0 评论 -
爬虫 - scrapy 框架 - 爬取页面显示,root.txt重定向 - 爬虫协议
当进行初步测试的时候,发现执行默认程序的时候,不输出回调函数的执行内容,页面访问被重定向到了roots.txt文件解决方法:对配件文件进行相应更改,让程序不支持爬虫协议,不允许重定向。执行结果,按照程序意图获取数据。...原创 2019-01-25 17:34:47 · 681 阅读 · 0 评论 -
爬虫 - 基本介绍、流程总结
目录一、基本流程二、Request 请求2-1 请求方式2-2 请求url2-3 请求头2-4 请求体2-5 请求实例分析三、Response响应一、基本流程发起请求 使用http库向目标站点发起请求,即发送一个Request; Request包含:请求头、请求体等 获取响应内容 如果服务器能正常响应,则会得到一个Response; Resp...原创 2019-01-21 11:46:13 · 1146 阅读 · 0 评论 -
爬虫 - scrapy 框架 - Spiders 请求处理
目录一、Spiders 介绍1-1 Spiders 运作过程1-2 Spiders 提供的五种模板类1-2-1 模板类的简单实用二、scrapy.spiders.Spider 类 - 最基本的类2-1 属性、方法详解2-2 简单实例2-2-0 基础实例2-2-1从单个回调中返回多个请求和项目2-2-2直接使用start_requests()代替start...原创 2019-01-25 16:31:06 · 1792 阅读 · 0 评论 -
爬虫 - scrapy 框架 - 基本介绍、项目启动
目录一、基础介绍1-1 基本结构1-2 基本流程二、安装方式2-1 基于windows下的安装2-1-0 安装流程2-1-0 pywin32安装2-1-1 基于twisted的wheel文件安装流程2-2 安装成功显示三、项目启动3-1 startproject 项目名3-2 项目目录结构3-3 配置使用pycharm执行爬虫文件3-3-0 ...原创 2019-01-25 14:27:09 · 955 阅读 · 0 评论 -
爬虫 - 高性能爬虫 - 降低IO阻塞
目录一、asyncio模块 - 检测网络IO,实现应用程序级别切换1-1 原始方式 - 仅支持TCP级别请求1-2 使 asyncio 支持Http协议请求1-2-1 自定义报头1-2-2 aiohttp模块封装报头1-2-3 requests.get方法封装报头二、gevent模块 优化io阻塞三、grequests模块四、twisted 框架 - 自动检测I...原创 2019-01-24 15:07:54 · 1145 阅读 · 0 评论 -
爬虫 - 基于线程优化爬虫效率
目录零、优化方式总结一、原始同步调用方式二、使用多线程优化效率三、使用 线程池+回调机制 优化多线程的不足零、优化方式总结对应下列中的所面临的可能同时出现的上千甚至上万次的客户端请求,“线程池”或“连接池”或许可以缓解部分压力,但是不能解决所有问题。总之,多线程模型可以方便高效的解决小规模的服务请求,但面对大规模的服务请求,多线程模型也会遇到瓶颈,可以用非阻塞接口来尝...原创 2019-01-24 14:55:40 · 714 阅读 · 0 评论 -
爬虫 - 项目学习 - 基于 selenium 爬取京东
目录一、界面分析二、主页面查询,数据跳转商品页面三、商品页面获取商品信息四、商品页面翻页获取数据五、综合封装,获取多页指定商品数据六、注意事项及错误总结6-1 翻页使用上方的'>'时报未查到元素错误6-2 翻页使用上方的'>'时报不可点击错误6-3 使用 chromedriver 的错误总结6-3-1 封装在函数内的页面自动关闭6-3-2 转...原创 2019-01-24 14:34:04 · 776 阅读 · 0 评论 -
爬虫 - selenium 模块 - 基于浏览器驱动请求数据
目录一、简单介绍二、浏览器驱动下载2-1 有界面浏览器驱动2-1-1 基于chrome浏览器2-1-2 基于Firfox浏览器2-2 无界面浏览器驱动2-2-1 phantomJS2-2-2 chromdrive配置无GUI模式2-3 驱动的基本使用三、元素查找方法3-1 find_element_by_3-2 find_elements_by_...原创 2019-01-24 10:28:39 · 1462 阅读 · 0 评论