摘要:一、增量式爬虫:检测网站数据更新情况,只爬取网站最近更新出来的数据。 核心思路:将爬取过的详情url存储到redis的set集合。 爬虫文件: # -- coding: utf-8 -- import scrapy from scrapy.linkextractors import LinkExtr
阅读全文
摘要:一、目标网址 http://wz.sun0769.com/political/index/politicsNewest 二、scrapy创建项目 scrapy startproject SunPro cd SunPro scrapy genspider -t crawl sun www.xxx.co
阅读全文
摘要:为什么要用Cookies池目标网站需要登录才能爬取,例如新浪微博。爬取过程中,如果请求频率过高,会导致封号。这就需要维护多个账号的Cookies池实现大规模爬取。Cookies池的要求自动登录更新定时验证筛选提供外部接口Cookies池的架构 首先,需要有一个账号队列,把一些账号密码存到数据库里,生
阅读全文
摘要:from selenium import webdriverfrom selenium.webdriver import ActionChainsfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.key
阅读全文
摘要:from selenium import webdriverfrom selenium.webdriver import ActionChainsfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.key
阅读全文
摘要:在网页源码中,在img标签中首先会使用一个“伪属性”(通常使用src2,original......)去存放真正的图片链接而并非是直接存放在src属性中。当图片出现到页面的可视化区域中,会动态将伪属性替换成src属性,完成图片的加载。爬虫是使用伪属性解析。 ImagesPipeline: class
阅读全文
摘要:一、基础镜像 参考《精通Python网络爬虫》机械工业出版社 二、实现中心节点并配置Redis与MySql docker run -tid --name ceter c354 #创建中心节点 docker ps -a #查看详情 docker attch 2eaf #进入中心节点 cat /etc/
阅读全文
摘要:一、csv文件存储 class CsvPipeline(): def open_spider(self,spider): self.file=open('filename.csv','wb') self.csv_exporter=CsvItemExporter(self.file) self.csv
阅读全文
摘要:场景:一个标题A,上面有一个链接B,链接B里面有内容C,如果要把标题A和内容C一一对应的话,在scrapy里面用meta就比较容易实现啦。 class File01Spider(scrapy.Spider): name = 'file01' start_urls = ['http://www.jkl
阅读全文
摘要:一、定义数据库数据模型 create database doubandb; create TABLE books( id bigint(20) unsigned NOT NULL COMMENT ID号, title varchar(255) DEFAULT NULL COMMENT 书名, aut
阅读全文
摘要:一、item.py中定义数据模型 class Dishonest(scrapy.Item): name=scrapy.Field() card_num=scrapy.Field() age=scrapy.Field() area=scrapy.Field() business_entiy=scrap
阅读全文
摘要:一、爬虫过程中尽可能规避验证码,查找第三方接口. 二、简单验证码。第三方平台:云打码。
阅读全文
摘要:一、css加密,通过css样式去代替某个字符,
阅读全文
摘要:总体采用广度优先策略 一、分析分类信息URL: https://dc.3.cn/category/get
阅读全文
摘要:一、代理池概述 免费代理不稳定,通常只有10%可用,便宜收费代理也只有30%-50%的可用,只有代理IP提供商可提供高可用的代理。(智连HTTP) 五、代理池工具模块 1.日志模块,日志代码项目之间可以复用 import sysimport loggingLOG_LEVEL=logging.INFO
阅读全文
摘要:一、直接请求报错 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <521 http://www.gsxt.gov.cn/corp-query-entprise-info-xxgg-100000.html>: HTTP sta
阅读全文
摘要:一、 twisted.web._newclient.ResponseNeverReceived: [<twisted.python.failure.Failure twisted.internet.error.ConnectionLost: Connection to the other side
阅读全文
摘要:中间件:批量拦截请求和响应,分为爬虫中间件和下载中间件,通常只用下载中间件。 一、实现随机User-Agent下载器中间件 1、准备user-agent列表 2、定义RandomUserAgent类 3、实现process_request方法 #request拦截到的请求,spider爬虫类实例化的
阅读全文