
crawler
菜到怀疑人生
这个作者很懒,什么都没留下…
展开
-
Python爬虫笔记(一)——基础知识简单整理
登陆时候的用户名和密码可以放在http的头部也可以放在http的body部分。 HTTPS是否可以抓取由于https运用的加密策略是公开的,所以即使网站使用https加密仍然可以获得数据,但是类似于微信这样的app,它自己实现了一套加密算法,想要抓取数据就变得比较困难。 制作爬虫时需要注意的HTTP字段HTTP请求头部分字段解释:accept:表明请求的资源类型ac...原创 2018-07-08 12:49:04 · 18193 阅读 · 1 评论 -
Python爬虫笔记(四)——动态页面的处理(上篇)
什么是动态页面我们知道js可以操纵DOM,可以请求后台,因此我们最终看到的html页面可能是js执行的结果,如果我们单纯用爬虫获取动态页面的html,看到的可能就是一堆js 动态页面的处理我自己总结了两种方式,1、获取后台接口,2、通过selenium+chromdriver,这篇博客先介绍第一种,这两种方式各有优劣方式一:动态页面有一个特点,它所需要的数据需要自己去请求后...原创 2018-08-02 15:02:46 · 6032 阅读 · 0 评论 -
Python爬虫笔记(十四)——Scrapy官方文档阅读——Selector
Scrapy的Selector用于提取数据,基于lxml实现,两者的效率相差不多 下列代码均针对该html文本:<html> <head> <base href='http://example.com/' /> <title>Example website</title> </head> <b...原创 2018-08-12 08:10:39 · 1625 阅读 · 0 评论 -
Python爬虫笔记(八)——Scrapy官方文档阅读——Scrapy常用命令集锦
#在project_dir目录下创建名为project_name的爬虫项目,如果不指定project_dir,默认目录名为项目名称scrapy startproject <project_name> [project_dir] #获得可用命令集锦scrapy -h #查看某条命令如何使用scrapy <command> -h #使用模...原创 2018-08-12 08:34:42 · 401 阅读 · 0 评论 -
Python爬虫笔记(九)——Scrapy官方文档阅读——Itemloader
什么是itemloaderItemloader提供了一种机制,可以很方便的填充item 使用ItemLoader填充item首先需要初始化Itemloader,可以用字典或是item作为构造函数的参数,如果没有指定,Itemloader会自己自动初始化一个item(对应属性ItemLoader.default_item_class),下面是一个使用例子(使用之前构造好的Pro...原创 2018-08-08 20:55:03 · 2167 阅读 · 0 评论 -
爬虫经验小总结
前言项目组要我爬取一些营养数据,过程曲折,还是有许多体会的,总结一下,防止以后在入坑 注意事项存取爬取数据时,要保留数据来源的url,以便以后发现数据有误以后可以矫正 如果插入数据到有外键的数据库,一定要把所有的插入语句组成一个事务,否则一旦出现异常,数据就不一致了 存储文本信息到mysql时尽量使用text类型,指不定就爆出长度不够 要做好重复处理的标记,我习惯使用广度优先...原创 2018-09-12 20:26:39 · 858 阅读 · 0 评论 -
python爬虫——使用urllib设置代理出现由于目标计算机积极拒绝,无法连接
先说结论结论1、检查自己有没有被封2、确保自己的网络有正确设置:https://blog.youkuaiyun.com/qq_26035563/article/details/802099763、检查代码,将urllib替换为requests库,或者不让urllib全程使用代理 问题分析 出现这个问题第一反应是被封,但随即否定,自己设置了较合理的等待时间,并且在学校内部,一般...原创 2018-10-22 09:00:38 · 4226 阅读 · 0 评论 -
python的multiprocessing模块踩坑记录
前言最近做多进程多IP爬虫,用到的multiprocessing模块有点坑,这里总结一下,python版本是3.6 踩坑记录1、multiprocessing模块的子进程是不会复制父进程的数据的,这和fork函数不一样,子进程中不会有父进程中的变量,如果子进程执行的函数所需要的参数比较多,并且会有一系列函数嵌套调用,建议把子进程需要调用的全部函数与变量封装成一个类,直接将类的实例传...原创 2018-11-08 15:01:18 · 5913 阅读 · 3 评论 -
Python爬虫笔记(十三)——Scrapy官方文档阅读——Link Extractors
Link extractors用于从网页中抓取链接 使用link extractors引入包:from scrapy.linkextractors import LinkExtractorLxmlLinkExtractorLxmlLinkExtractor是推荐的具有方便过滤选项的链接提取器__init__函数的参数:allow(正则表达式):提取的url必须满足...原创 2018-08-11 07:38:23 · 377 阅读 · 0 评论 -
python爬虫笔记(七)——scrapy文档阅读(一)——scrapy的基本使用
一、创建一个新的爬虫项目:scrapy startproject tutorial创建的项目目录如下:tutorial/ scrapy.cfg # deploy configuration file tutorial/ # project's Python module, you'll import your code...原创 2018-08-06 20:36:35 · 622 阅读 · 0 评论 -
Python爬虫笔记(二)——多线程爬虫、正则表达式、多进程爬虫
正则表达式首先先简单介绍一下正则表达式(关于正则表达式的原理以及算法,等以后有时间在写)python中常使用以下函数来返回正则表达式匹配的项目(使用前先import re)://pattern为正则表达式,string为待匹配的字符串,返回的是列表findall(pattern,string,flags=0)爬虫中常用的正则表达式:. 表示任意字符 ^表示匹配行...原创 2018-07-20 20:43:06 · 3775 阅读 · 10 评论 -
python爬虫笔记(五)——动态网页处理(下篇)
前面总结了通过寻找后台接口来爬取动态网页,这篇博客总结一下selenium+chrome如何爬取动态页面,selenium现在貌似不在支持PhantomJs,python版本为3.6 Xpath的/与//的不同:/是在它的子结点中查找,而//是在它的所有子结点中查找,包括子结点的子结点等等 1、安装chromedriver网址:http://chromedriver.chrom...原创 2018-08-04 09:14:17 · 3445 阅读 · 0 评论 -
python爬虫笔记(六)——应对反爬策略
以下总结的全是单机爬取的应对反爬策略 1、设置爬取速度,由于爬虫发送请求的速度比较快,会对服务器造成一定的影响,尽可能控制爬取速度,做到文明爬取2、重启路由器。并不是指物理上的插拔路由器,而是指模拟路由器重启时发送的表单。登陆自己的路由器,一般路由器会提供重启路由器的选项,根据路由器的重启特点进行模拟,如果觉得模拟请求麻烦,那就通过selenium+chromedriver直接点击重启...原创 2018-08-04 14:37:49 · 13755 阅读 · 1 评论 -
Python爬虫笔记(十)——Scrapy官方文档阅读——Scrapy shell
Scrapy shell用于测试Xpath和css表达式,查看它们提取的数据,Scrapy可以使用ipython、bpython、标准的python shell中的一个,可以通过设置SCRAPY_PYTHON_SHELL的值来决定,也可以在scrapy.cfg中定义:[settings]shell = bpython 启动scrapy shell启动scrapy shell的命...原创 2018-08-09 07:51:20 · 1296 阅读 · 0 评论 -
Python爬虫笔记(十一)——Scrapy官方文档阅读——Item Pipeline
当item被spider返回后,会被送往Item Pipeline进行处理,一般在Item pipeline中会进行下列动作:1、清洗HTML数据2、验证爬取的数据是否正确(通过查看是否有具有标志性的标志)3、检查是否重复4、存储item 扮演item pipeline角色的每个python类需要实现以下方法:process_item(self,item,spider)...原创 2018-08-09 08:26:13 · 360 阅读 · 0 评论 -
Python爬虫笔记(十二)——Scrapy官方文档阅读——Feed exports
Feed exports用于处理数据的存储Scrapy提供了开箱即用的数据存储格式:JSON使用的Feed_exports:JsonItemExporterJSON lines使用Feed_exports: JsonLinesItemExporterCSV使用Feed_exports: CsvItemExporterXML使用Feed_exports: XmlItem...原创 2018-08-09 20:48:49 · 938 阅读 · 0 评论 -
Python爬虫笔记(十二)——Scrapy官方文档阅读笔记——request与response
Request和Response对象用于爬取网站 Request对象Request对象代表HTTP请求,通常由Spider生成,由Downloader执行发送,然后由Downloader生成返回Response对象__init__:构造函数,常用参数:url:请求的url callback:用于处理response的函数,如果没有指定,scrapy默认使用parse函数 m...原创 2018-08-10 14:54:49 · 1036 阅读 · 0 评论 -
Python爬虫笔记(三)——表单登陆
python版本为3.6 表单登陆一般来说,各个网站表单登陆的方式是比较灵活的,在这里只介绍两种,这两种登陆方式的区别在于Content-Type的值 方式一:multipart/form-datamultipart/form-data:指定传输数据为二进制类型,比如图片、mp3、文件此时账号与密码在body部分,boundary表示分割线,用于分割数据 方...原创 2018-08-01 19:55:07 · 4635 阅读 · 1 评论