爬虫学习笔记

网页基础

html structure
CSS presentation
JavaScript action

静态网页爬虫

获得response对象后先将其转换成便于操作的BeautifulSoup对象,对BeautifulSoup对象有两种方法可供选择:

  • find()和find_all()
    这两个方法返回的结果是Tag对象或由Tag对象组成的列表。对于Tag对象,它和BeautifulSoup对象一样均可以使用find()和find_all()方法,对于由Tag对象组成的列表,可以使用循环依次提取Tag对象。

  • select()
    可以直接提取出想要的数据,但是其语法需要注意:.是class,#是id;并列属性直接写,下面的所有层级用空格,下面第一层级用>和空格。

tag对象的方法

#获取元素内容
tag.text
#获取元素属性值
tag['属性名']

动态网页爬虫

XHR

为了提升网页加载速度,许多网页采取先加载框架再加载内容的方式。所以要在不刷新网页的前提下加载更多内容,必须通过XHR向服务器发送请求,获取数据

response对象转换成json对象

res.json()
#json后面可直接添加列表/字典方法
res.json()['']

查询字符串

params = {
	'': ''
}

反反爬虫

常见的反爬虫的手段主要有两种:身份判别和IP限制
对于前者来说,只需要在向服务器请求时加上请求头:

#referer字段只需要在通过API获取数据时添加
headers = {
	'user-agent': '',
	'referer': ''
}
res = requests.get(url, headers = headers)

对于IP限制,只需要建立IP代理池:

proxies = {
	'http': '',
	'https': ''
}
res = requests.get(url, proxies = proxies)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值