scrapy 优势:
- resquests和Beautifulsoup都是库,scrapy是框架
- scrapy框架可以加入前两项
- scrapy基于twisted,性能是最大的优势
- scrapy方便扩展,提供很多内置功能
- 内置的css和xpath selector非常方便,比Beautifulsoup快几十倍
常见类型网页:静态网页 动态网页 、 webserbice(restapi)
正则表达式:
- ^ 以xx开头 $ 以xx结尾 * 0次以及以上 ? 1次及以上,非贪婪模式 + 一次及以上 {} n次 {m,} m次以上 {m,n} n次m | 或
- [] 或 [^] 不是这个开头 [a-z] a-z任意选一个 .
- \s 空格字符 \S 飞空格字符 \w 字母 \W 非字母
- [\u4e00-\u9FA5] 中文 () 取括号也表示优先级和元祖 \d 数字
小栗子:
匹配出以下所有的日期
import re line = 'xxx出生于2017年2月1日' linex = 'xxx出生于2017年2月' line1 = 'xxx出生于2017/2/1' line2 = 'xxx出生于2017-2-1' line3 = 'xxx出生于2017-02' regex_str='.*出生于(\d{4}[年/-]\d{1,2}([月/-]$|$|[月/-]\d{1,2}[日]|[月/-]\d{1,2}))' match_obj = re.match(regex_str,line) print(match_obj.group(1))
Xpath:




浙公网安备 33010602011771号