爬虫学习(一) :学习框架的搭建

快速构建爬虫领域的整体认知
思维导图如下:
在这里插入图片描述
1、爬虫的本质

  • 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。

2、爬虫的基本流程

  • 发起请求
  • 获取响应的内容
  • 解析内容
  • 保存数据

3、关于数据的处理

  • Xpath
  • BeautifulSoup

4、Urllib库/Requests库

  • python内置的HTTP请求库
import urllib.request

response = urllib.request.urlopen('http://www.baidu.com')
print(response.read().decode('utf-8'))
  • 有很多网站为了防止程序爬虫爬网站造成网站瘫痪,会需要携带一些headers头部信息才能访问
import requests
from lxml import etree
import sqlite3

url = "http://price.sci99.com/index.aspx?pagename=energy&RequestId=fc5e0db5e4c5683c"
headers = {
   "User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36",
}
resp = requests.get(url,headers=headers)
text = resp.text
html = etree.HTML(text)


5、BeautifulSoup库的使用

  • 一个灵活又方便的网页解析库,处理高效,支持多种解析器。

6、selenium库

  • selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript编写,因此可以用于任何支持JavaScript的浏览器上。

  • 安装chromedriver

  • 各种api的使用


7、实战爬取数据demo


8、爬虫的策略
在爬虫系统中,待抓取URL队列是很重要的一部分,待抓取URL队列中的URL以什么样的顺序排队列也是一个很重要的问题,因为这涉及到先抓取哪个页面,后抓取哪个页面。而决定这些URL排列顺序的方法,叫做抓取策略。

  • 深度优先
  • 广度优先

9、爬虫的性能相关

  • 传统方式:简单的循环串行(for循环)
  • 进阶:引入线程池
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值