一、爬虫:
从网站/app自动抓取数据的一个程序 百度:最大爬虫搜索引擎,从互联网上抓取所需要的数据
二、为什么会有爬虫?(存在的意义—抓取数据—数据分析)
1>节省人力物力资源,提高效率
2>抓取大量数据
三、网站分类:前端(负责页面美观)+后端(实现功能性能优化)
1>静态网站:从源代码找到所需要的数据
2>动态网站:80%
四、分析网站:倒推法----根据目的推算出过程步骤
1>目的:获取案例介绍的数据(http://www.risfond.com/case/fmcg/26700)
步骤:①源代码从哪里来?-----对网址发送请求,获取源代码
自定义函数必须调用
encode编码decode解码
bytes ----decode解码 ----string
string —encode 编码----bytes
②数据从哪里来?----从源代码获取数据----解析
re:正则表达式----表达共同的规则,共同属性----模型
数据:共同的而标签
findall(正则,源代码)
③获取案例介绍的数据
#导入模块 1、自带模块 2、第三方库:pip install request
#requests bs4 LxmL scrapy pyquery selenium… python 模块,框架,解析方式
#导入模块 1、自带模块 2、第三方库:pip install request
#requests bs4 LxmL scrapy pyquery selenium... python 模块,框架,解析方式
import urllib.request # 对网址发送请求
import re #正确表达式
import requests
# 源代码从哪里来?-----对网址发送请求,获取源代码
def getdate():#自定义函数 打印输出内置函数:print
#url1 = 'http://www.risfond.com/case/financial/51886'
#url_list = [url1]
for i in range(26700,26730):
url = 'http://www.risfond.com/case/fmcg/{}'.format(i)
#url_list.append(url)
#for l in url_list:
html = urllib.request.urlopen(url).read().decode('utf-8')#urlopen 打开网址 read 读取所有源代码
#print(html) # bytes字节类型--decode(急嘛)---string 字符串
#数据从哪里来?----从源代码获取数据----解析
rel = '<div class="sc_d_c">.*?<span class="sc_d_con">(.*?)</span></div>'#正则,描述所需要的数据的共同特征
page_list = re.findall(rel,html) #源代码里面找到符合正则(表达共同的规则,共同属性)的内容
print(page_list)#list列表 字典{} 列表()
getdate()
##自定义函数必须进行调用,否则没有结果出现(顶格写调用)