爬虫正则---scrapy框架概述

这一段主要是在做爬虫时,会用到的操作及代码设置

------------------------------------------------------------------

cookies 开启 -----抓取登录后的信息时
scrapy crawl  爬虫名   -o   file.json
如果要查看 vim   file.json

要保存到数据库的话 ----settings.py配置 开启pipeline

伪装
ip代理,随机user-agent
中间件定义完要在settings.py配置
爬虫文件名和爬虫名不能相同

------------------------------------------------------------------
Re 正则
-----简洁,特征 的思想
^-?\d+$   整数形式的字符串
^[0-9]*[1-9][0-9]*$     正整数形式的字符串
? 前一个字符  出现一次或零次
[\u4e00-\u9fa5]  匹配中文字符
\d{3}-\d{8}|\d{4}-\d{7}   国内电话号码 010-68695847  0110-1597534

ip地址精确写法
0-99:   [1-9]?\d               100-199 :    1\d{2}
200-249 :  2[0-4]\d            250-255 :    25[0-5]

(([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5]).){3}([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5])    

Re库
当[正则表达式] 包含转义符时  使用raw string
也就是加 'r'
re.search()   从字符串中匹配正则表达式的第一个位置 返回match对象
re.match()    从一个字符串的开始位置匹配正则表达式  返回match对象
re.findall()   搜索字符串  以列表类型返回全部能匹配的子串
re.split()     将字符串按正则结果进行分割,返回列表类型
re.finditer()    搜索字符串  返回匹配结果的迭代类型 每一个迭代元素match对象
re.sub()   在一个字符串中替换所有匹配正则表达式的子串   返回替换后字符串

python中json中的loads()和dumps()它们的作用经常弄换了,这里记录下,loads方法是把json对象转化为python对象,dumps方法是把pyhon对象转化为json对象,

regex =re.compile(pattern ,flags =0)  -----将正则表达式的字符串形式编译成正则表达式对象

贪婪匹配 ----输出最长的串
以下均可最小匹配
*?   
+?
??
{m,n}?
---------------------------------------------------------
字母数字  [a-zA-Z0-9]

\d 数字[0-9]      \D  非数字[^0-9]
\w字母数字[a-zA-Z0-9]
\s空白字符 [\t\n\r\f\v]


.+  任何非换行符  至少一次{1,}
.*   任何非换行符   至少零次{0,}

? 零次或一次{0,1}


r'\hello.world'   前缀r 可以使反斜杠不以特殊字符处理

\b   单词边界   仅匹配单词的开始和结束

group()  从左向右只算开放括号字符

(?<name>...)  name是组的名称
------------------------------------------------------------------
scrapy框架

可以分为7部分
5个组件  
2个中间件 ---可以对特别需求,用户可以修改配置
整个框架是半成品

已经写好的---如果有特别的需求,可以对已有结构进行修改(主要是作用中间件)  
 engine  ---核心 ,控制所有模块的数据流
 scheduler ----对所有爬取请求进行调度管理
 downloader   ----下载请求网页

用户只需要配置
spiders(入口)
item pipeline(出口)---流水线方式处理spider产生的爬取项
                       每个操作是一个Item Pipeline类型
            包括:清理,检验,查重爬取项中的html数据,将数据持久到数据库

yield   ---生成器
好处:
   每完成一次循环会提交数据,然后自己被冻结,等下次调用
  节省存储空间

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值