网络爬虫运行原理
分为通用网络爬虫和聚焦网络爬虫
通用网络爬虫对某一站点(url)进行不重复抓取并记录,直到找到满足条件的url。
聚焦网络爬虫对定义的item对某一站点爬取并过滤,留下需要的url列表,计算权重后继续爬直到满足条件。
信息提取表达式
正则表达式、Xpath表达式等用来对信息进行提取筛选,找出我们需要的表达式。
正则表达式
原子
原子是正则表达式中最基本的组成单位,一个正则表达式至少有一个原子。
原子可以是普通字符、非打印字符、通用字符、原子表。
import re
#正则表达式模块 系统自带
print("1")
#普通字符提取正则表达式
str1="taoyunjiaoyu"
pat="yun1"
rst=re.search(pat,str1) #search至少需要两个参数,正则表达式,原子
print(rst)
print("\n")
print("2")
#非打印字符 \n \t \000
str2='''I love you
'''
pat2="\n"
rst2=re.search(pat2,str2)
print(rst2)
print("\n")
print("3")
#通用字符
'''\w 匹配字母、数字、下划线
\W 除字母、数字、下划线
\d 十进制数
\D 除十进制数
\s 空白字符
\S 除空白字符
'''
str3="232j2k4k567jkh3!"
pat3="\d\d"
rst3=re.search(pat3,str3)
print(rst3)
print("\n")
#原子表
print("4")
str3="232j2k4k567jkh3!"
pat3="\d[kj]\d[^k6]"
rst3=re.search(pat3,str3)
print(rst3)
元字符
^ 开始位置 . 除换行外任意一个字符 $ 结束位置 * 0\1\多次 ? 0\1次 + 1\多次
{n} 恰好出现n次 {n,}至少出现n次 {n,m} 至少出现n次,至多出现m次 | 模式选择符或
() 模式单元
模式修正符
I 匹配时忽略大小写 M 多行匹配 L 本地化识别匹配 U unicode S 让匹配包括换行
python3.7安装之后需要使用的许多模块(from xxx)几乎都没有安装会报一下类似的错误
No module named 'bs4'
所以安装各个模块
到python的安装目录
PS C:\Windows\system32> cd "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\Scripts"
安装相应模块
PS C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\Scripts> ./pip install request