文章分类 - 爬虫
摘要:1、遍历多个节点 查找.items() for item in 节点.items(): yield item.attr('href') 2、子查询 find()
阅读全文
摘要:总结 开启浏览器 访问页面 查找节点 节点交互 click() send_keys() clear() 执行JS excute_script() 获取节点信息 属性 内容 其它 延时等待 隐式等待 implicitly 显示等待 前进和后退 Cookies
阅读全文
摘要:中间件 import random import redis from scrapy.exceptions import NotConfigured from twisted.internet.error import ConnectError, TimeoutError class RandomP
阅读全文
摘要:一、调试 scrapy view url 下载url # console端,输入下面命令 scrapy shell url # 进入python交互模式,查看打印的结果是否符合预期 response.xpath('') 我一般用于检测xpath是否正确 二、查看cookies debug COOKI
阅读全文
摘要:一、去重 # 去重 DUPEFILTER_CLASS = 'scrapy_redis.dupefilter.RFPDupeFilter' # 连接redis REDIS_URL = 'redis://user:密码@ip:端口' # 注意:无用户密码时,不用加@符号 # 爬虫停止时,redis中的数
阅读全文
摘要:1、debug调式,settings文件 COOKIES_ENABLED = True COOKIES_DEBUG = True 2、合并cookies request.meta['dont_merge_cookies'] = True
阅读全文
摘要:情况1 问: 不登录可以翻页爬取,但只能爬取前几页 答:涉及到cookies验证,如果是auth认证的话,一页都不能爬取 情况2 问:爬取很多页后,显示系统繁忙 答:这是虚假的,开启cookies debug,找到请求直接的不同点(改点应该就是问题所在),大多数情况是sessid COOKIES_E
阅读全文
摘要:遇到的情况 1、href或src中没有url,需要自己观察不同url的区别,并找出规律 2、href或src有值,但xpath取不到值,需要借助XHR(ajax请求),观察请求的ur的不同并找出规律
阅读全文
摘要:一、Request 查看源码的方式:scrapy -> http-> request -> __init__.py 1、meta 作用:用于parse方法之间进行传递值,Request() -> response.meta['内容'] 注意:先判断response.meta里是否有值,如代理池 二、
阅读全文
摘要:注意:插件在配置文件中,后面的数值不是很重要,除非某些插件是依赖与某些插件的时候 一、主要作用:信号量 1、方法 import logging from scrapy import signals from scrapy.exceptions import NotConfigured logger
阅读全文
摘要:1、并发数 CONCURRENT_REQUESTS = 32 并发数,即下载器的个数,默认16 2、缓存 HTTPCACHE_ENABLED = True 启动HTTP请求缓存,下次再遇到该url时,不再需要请求远程网站 3、启用cookie,debug cookie COOKIES_ENABLED
阅读全文
摘要:1、核心:下载中间件 2、过程: 创建代理中间件,在配置文件中添加代理池的ip列表 修改下载中间件的内容,注意:自定义代理中间件优先级要高于默认的httpproxy中间件间 3、创建ip代理值中间件类 import random from collections import defaultdict
阅读全文
摘要:1、自己理解: meta = {'k1': 'v1'} 传递数据,通过Request()设置meta,通过response.meta.get('k1'),获取meta的值 通过callback=解析函数名,进行 2、参考 https://blog.csdn.net/wumxiaozhu/articl
阅读全文
摘要:注意:中间件在配置文件中,后面的数值很重要 一、下载中间件 注意:from_crawler 要返回 cls() 对象或抛出异常,cls() -> __init__方法 1、process_reuqest 何时执行: request ->(下载中间件) 下载器 返回值 None: 继续执行后面中间件的
阅读全文
摘要:官网:https://docs.scrapy.org/en/latest/ a、pipeline的四个作用 官方 1、持久化 2、去重 3、清理HTML数据 4、验证爬取的数据,检测爬取的字段我的认知 持久化、去重、数据清洗(取空格,换行符,引号等) b、流程 1、yield item 2、proc
阅读全文
摘要:注意:lxml要和xpath一起使用,这里的xpath获取的结果是列表,不能使用extract_first()和extract()方法 一、lxml(解析库) 1、优点:速度快,用于爬取大型网站 2、安装:https://www.cnblogs.com/wt7018/p/11773612.html
阅读全文
摘要:官网:https://www.crummy.com/software/BeautifulSoup/bs4/doc/ 参鸟教程:http://www.jsphp.net/python/show-24-214-1.html 自己写的日记:https://i-beta.cnblogs.com/diarie
阅读全文
摘要:官网: https://requests.kennethreitz.org//zh_CN/latest/user/quickstart.html 测试网站:httpbin.org 注意:重定向 requests.get(allow_redirects=False) 注意:其它看官网 1、带heade
阅读全文