爬虫必备基础知识
技术选型 scrapy+ requests
网页类型 静态 动态
爬虫作用 搜索引擎 推荐引擎 机器学习数据样本 数据分析
正则表达式
1.特殊字符
^ . * $ ? 分别是 开头字符 任意1字符 任意字符 结尾字符 非贪婪(第一个匹配)
+ {3 } | [abc] [^a] 分别是 至少一次(与*相同) 出现次数 或 任意一个 非a 匹机号(1[345678][0-9]{9})
S s w W 分别是非空格 空格 (a-z0-9_)中任意字符 非(a-z0-9_)中字符
[u4E00-u9FA5] 提取汉字
d 数字
例如 ".*出生于 (d{4}[年/-]d{1,2}([月/-]d{1,2}|$|[月]$))"
深度优先和广度优先
算法 深度为递归 广度为队列
URL去重 (1亿 )
url经过md5等方法哈希后保存到set中 3G
bloomfiler 方法 12M
Unicode和utf8编码
unicode 万国码
utf-8 可变长unicode
把其他字符转换unicode 使用 s.decode("gb1312")
把unicode转换utf-8 使用 s.encode("utf-8")
其它
- /.bashrc 文件作用 及别名使用方法 alias pycharm="bash 命令路径"
- source .bashrc 命令 与 service mysql restart 命令 source 执行一个文件 service对系统服务进行管理 restart stop等
extract() 取出所有元素 extract_first(“”)使用
extract():这个方法返回的是一个数组list,,里面包含了多个string,如果只有一个string,则返回['ABC']这样的形式。
extract_first():这个方法返回的是一个string字符串,是list数组里面的第一个字符串。
Xpath选择器:
response.selector属性返回内容相当于response的body构造了一个Selector对象。
Selector对象可以调用xpath()方法实现信息的解析提取。
在xpath()后使用extract()可以返回所有的元素结果。
若xpath()有问题,那么extract()会返回一个空列表。
在xpath()后使用extract_first()可以返回第一个元素结果。