爬虫
文章平均质量分 80
梅雨琪
一只美丽认真的程序媛!
展开
-
【scrapy】mongo存储数据时,按月分表存储
为了方便数据的查询和存储,减轻查询压力,可以使用按月分表保存数据,然后按月查表查数据。那在scrapy存数据时,怎么按月份存数据呢?这里我scrapy的数据时存在mongo内部的,只要更改存储的集合名称就行。这里只是按月分表,没有涉及分库。...原创 2020-01-03 11:43:44 · 930 阅读 · 1 评论 -
scrapy -o xxx.json 命令,不开启pipeline,也可以将item写入到一个json文件中
如果想保存item到一个json文件中,除了使用pipeline进行写入保存外,还可以使用一行命令,就写入json文件。# spider 是你的爬虫文件名字,可替换# -o 是表示输出到文件的命令,不可替换# xxx.json 是你要输出的文件名字,可替换scrapy crawl spider -o xxx.json 可能出现的问题:1、如果这个命令执行完,已经生产xxx.jso...原创 2019-10-15 10:05:29 · 527 阅读 · 1 评论 -
【Scrapy】不同的Request请求,自己选择中间件进行过滤。scrapy指定某一个请求使用selenium模拟加载。
问题描述:Scrapy爬虫里,不同的Request请求,根据需求来选择不同的中间件进行过滤。举例:scrapy爬虫时,有些请求需要借助selenium,但是其他请求不需要用selenium,那如何让某一个单独的请求使用selenium这个中间件?解决方法:简单将讲,用好meta这个参数进行传参。第一步:先准备好一个selenium中间件第二步:全局开启selenium中间件第三步:爬...原创 2019-10-10 10:35:35 · 1816 阅读 · 2 评论 -
【图文详解】Win10上,本地安装 scrapyd ,部署爬虫的每一步!
1、进入你写代码的python 环境中,准备下载scrapyd包2、安装scrapyd模块,命令: pip installscrapyd3、安装完成时会有Successfully的提示4、安装完成后,输入命令: scrapyd 启动服务5、上一步启动成功后,会有日志信息显示,服务启动成功,可以在浏览器 http://127.0.0.1:6800/查看6、如果上述步骤都已成功,会发...原创 2019-11-15 16:43:41 · 1010 阅读 · 0 评论 -
京东商品价格获取的三种方式
问题描述:京东商品的详情页,价格是js动态加载的,源代里获取不到,该如何破解?商品详情页的价格,在网页源代码里找不到,xpath提取为空,这可怎么办?解决方案:一、selenium加载页面,进行提取这个方法是万能的,一定能抓到数据,但是会影响速度和性能,可以参考第二、三种方法。二、商品列表页可以获取价格1、可以在商品列表页,获取商品价格,使用xpath提取2、xpath可...原创 2019-10-15 11:52:06 · 10374 阅读 · 4 评论 -
京东搜索产品时,pc端列表页只展示100页的数据
问题描述:当你在电脑上浏览京东网站时,官网只给你返回100页数据,每页60个,总共只显示6000个商品,但实际有几十万的相关产品没有展示出来。 这算是京东的一种反扒机制,美团的电脑端也是这样,只给你返回固定页数的信息。遇到这个问题,可以选择增加搜索维度、寻找其他接口的方法,尽量多的去获取数据。解决方法:一、在搜索的时候,缩小搜索范围,增加搜索维度1、在搜索商品时,加上品牌、型号等信息,...原创 2019-10-15 10:36:46 · 2295 阅读 · 0 评论 -
京东搜索产品时只能获取到每页的前30个产品,scrapy+selenium取到后面30个产品
问题描述:京东解析源代码,只能得到30个商品,但是实际一页有60个商品。当我们直接用xpath直接解析源代码时,发现只能得到30个商品,但是在前台,我们明明看到的是60个商品。这是因为刚刷新页面时,先展示源代码的30个商品,后面30个商品,需要下拉进度条,懒加载后面30个商品。scrapy如何结合selenium实现模拟下拉?解决方法:简单的讲,就是加一个selenium中间件,爬虫...原创 2019-10-09 18:04:01 · 2098 阅读 · 7 评论 -
京东商城爬虫学习,面临的全部爬虫难题&scrapy项目架构难题,以及他们的解决方法(持续更新...)
19年9月份用了两个星期,搞了一下京东商城的爬虫,下面将我遇到的全部爬虫问题和爬虫架构问题,写在博客里供大家参考,问题比较多,会持续更新,本篇文章主要将把所有问题罗列出来,其问题的解决方案将放到新的博客里。本京东项目使用scrapy框架完成的,所有的功能都是在框架之上使用中间件、扩展等功能实现的,丰富了scrapy框架的使用,对scrapy也有了更深的了解。一、列表页懒加载后30个商品(已解...原创 2019-10-08 11:47:51 · 795 阅读 · 1 评论 -
selenium+python配置chrome浏览器的选项
1. 背景在使用selenium浏览器渲染技术,爬取网站信息时,默认情况下就是一个普通的纯净的chrome浏览器,而我们平时在使用浏览器时,经常就添加一些插件,扩展,代理之类的应用。相对应的,当我们用chrome浏览器爬取网站时,可能需要对这个chrome做一些特殊的配置,以满足爬虫的行为。常用的行为有:禁止图片和视频的加载:提升网页加载速度。添加代理:用于翻墙访问某些页面,或者应对IP...转载 2019-06-13 18:01:01 · 3345 阅读 · 0 评论 -
【scrapy框架】scrapy框架自带图片下载的管道ImagePipeline
一、关于scrapy中pipleline的基本认识Item Pipeline又称之为管道,顾名思义就是对数据的过滤处理,其主要的作用包括如下:清理HTML数据。验证爬取数据,检查爬取字段。查重并丢弃重复内容。将爬取结果保存到数据库。二、几个核心的方法创建一个项目的时候都会自带pipeline其中就实现了process_item(item, spider)方法1、ope...转载 2019-05-21 16:14:33 · 931 阅读 · 1 评论 -
Scrapy 常用命令笔记
启动爬虫命令scrapy crawl demoscrapy断点续爬命令scrapy crawl demo -s JOBDIR=crawl/demo.comscrapy控制台不显示日志命令scrapy crawl demo -s JOBDIR=crawl/demo.com --nolog随着使用会继续添加…...原创 2019-05-21 11:14:48 · 125 阅读 · 0 评论 -
【Python】爬虫PyQuery使用详解
1.安装方法pip install pyquery2.引用方法from pyquery import PyQuery as pq3.简介pyquery 是类型jquery 的一个专供python使用的html解析的库,使用方法类似bs4。4.使用方法4.1 网址响应初始化方法:from pyquery import PyQuery as pqdoc =pq(html) ...原创 2019-05-14 17:13:58 · 963 阅读 · 0 评论 -
反爬虫的方法大全
反爬虫策略1、封IP:网页的运维人员通过分析日志发现最近某一个IP访问量特别特别大,某一段时间内访问了无数次的网页,则运维人员判断此种访问行为并非正常人的行为,于是直接在服务器上封杀了此人IP。2、封USERAGENT:很多的爬虫请求头就是默认的一些很明显的爬虫头python-requests/2.18.4,诸如此类,当运维人员发现携带有这类headers的数据包,直接拒绝访问,返回403错误...原创 2019-05-08 10:54:08 · 20516 阅读 · 0 评论 -
selenium获取到user的WebElement列表后,循环WebElement提取单条user信息
在使用scrapy的时候,常常会获取到一个div列表,然后循环列表去获取每一个div,再对每一个div进行xpath提取信息。例如这样的操作(图片代码仅供参考)但是使用selenium时,使用user_lists = self.driver.find_elements_by_xpath("//div[@class='user']") 语句获取到user_list后,同样也可以循环user_l...原创 2019-05-08 10:28:18 · 5129 阅读 · 0 评论 -
selenium无界面操作浏览器
selenium的无界面化功能使用的模板代码,以后使用的时候,直接把这些配置复制过去就好了。下面举了我常用的三种操作:第一种:selenium自动去请求某个页面第二种:selenium模拟登陆第三种:selenium获取cookiefrom selenium import webdriverimport timefrom selenium.webdriver.chrome.optio...原创 2019-05-08 10:03:41 · 5747 阅读 · 1 评论 -
【Python】检测下载不完整、半截灰色的JPG、JPEG、PNG图片脚本
作为一个图片网站的爬虫,在下载到本地的时候,总有一些图片显示不完全,例如这样:错误图片展示出现这种问题的原因是什么呢?1、网络问题:网络不稳定,接收到的图片信息不完整。也就是说response有问题;2、本地磁盘满了:有时候接收到的图片信息完整,但是本地磁盘存不下了,毕竟一个图片也要好几Mb呢。如何检测错误图片呢?试了很多方法,一个较好的方法就是判断jpg、jpeg、png文件结尾...原创 2019-04-03 16:20:19 · 4105 阅读 · 11 评论 -
Python蘑菇代理的使用
前些天爬虫换了一个蘑菇代理,使用起来还是蛮简单的,记录一下。蘑菇代理隧道代理介绍隧道代理使用scrapy中间件的用法# 代理服务器proxyServer = "transfer.mogumiao.com:9001"# appkey为你订单的keyproxyAuth = "Basic " + "ZzBrb2pmdDUydTY4cnp2aDp4Nk4wbzFxOHRBZXhEV3E...原创 2019-04-10 14:45:44 · 2545 阅读 · 1 评论 -
【Python】爬虫面试总结分享
一、xxx大数据公司(2018.10.30)Q1. 你遇到的比较难的爬虫问题?Q2. 请求一定页数后就会被封如何应对?A:这个时候,我们会估算一下,多少页之后会封,然后换cookie继续。Q3. 有的时候请求到空数据,A: 这个问题已经发现我是爬虫了,①看看我的代理,是不是过期了,②看看cookie是不是过期了,③看看是不是有referer字段反爬,④找不到规律了,源代码 aj...原创 2018-11-21 23:19:37 · 1355 阅读 · 0 评论