数据获取与预处理

爬虫:让机器模拟人浏览网页,获取网页中我们要获取的信息

1.爬虫软件:

  • 集搜客Gooseeker
  • 八爪鱼
  • 网络矿工
  • 火车头
  • 神箭手平台
  • ...

数据获取与预处理

2.爬虫程序

  1. request:让HTTP服务人类
  • 伪装自己所需的参数
  • 发送http请求:get请求   req=requests.get(url,headers,param)

                               post请求 req=requests.post(url,headers,data)

  • 获取响应:若返回的是文本数据(html)用req.text;若返回的是json数据,用req.json 

 

     2.BeautifulSoup:解析网页,从HTML或XML文件中提取数据的python库

       ①将网页文本创建为BeautifulSoup实例:soup=BeautifulSoup(html):将复杂HTML文档转换成一个复杂的树形结构

       ②根据不同的规则来获取网页元素:a=soup.find("a",{"class" : "mooc"}) #找到第一个属性class为mooc的a标签

     

      3.Selenium:模拟浏览器,自动化测试工具,可用于完成几乎所有的浏览器操作,比如点击、输入等

         有时候一些网页中包含一些JavaScript动态加载的元素,这些内容是用户在浏览器打开网页的时候才会执行的,若直接使用requests去请求,是无法完成js的这些动作的,也无法获取我们所要的内容,所以需要模拟浏览器的动作

         browser=webdriver.Chrome(); #打开一个chrome浏览器

         browser.get('http://www.baidu.com/'); #在打开的浏览器中请求

 

      4.Scrapy:爬取网站数据,提取结构性数据而编写的应用框架