0基础开始学习简单的爬虫


前言

在互联网大数据时代,数据爆炸式增长,我们得到了海量的信息,但是大多数都是无效的垃圾信息,我们想要获取对自己有用的信息,就可以通过爬虫来实现。


提示:以下是本篇文章正文内容,下面案例可供参考

一、爬虫是什么?

爬虫(spider),又叫做网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动抓取万维网信息的程序或者脚本。

二、所需要的工具

python、pycharm

三、使用步骤

1.引入库

代码如下(示例):

import requests #用来发送请求的
import random
from lxml import etree #用来解析数据的
import time

2.如何安装第三方库

在这里插入图片描述
如果下载速度比较慢,可以使用国内的镜像网站:
使用方法:pip install requests -i 网站

清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
豆瓣:http://pypi.douban.com/simple/
中国科技大学: https://pypi.mirrors.ustc.edu.cn/simple

3.爬虫的基本步骤

1.导入相关的库
2.发送请求,获取响应
3.拿到数据进行解析

4.常见的反反爬措施

4.1. 请求头的伪造(必须)
一.网上可以寻找请求头大全
二…直接用网页上的请求头
在这里插入图片描述
三.安装一个库,也可以获得请求头
pip install fake-useragent (有问题的情况 python -m pip install fake-useragent )

from fake_useragent import UserAgent
ua = UserAgent()
print(ua)

4.2. 多次采集,一定要注意:模拟人的行为 time.sleep()
4.3 IP地址代理(推荐 收费)(隐藏自身IP)

相关网站:快代理西祠代理
使用方法:
在这里插入图片描述

5.常见的响应数据

  • HTML文件
  • json字符串
    例如:
    在这里插入图片描述

json字符串
在这里插入图片描述

Response对象的属性:

response.text文本文件
response.content二进制数据
response.encoding解决编码格式的问题
response.status_code状态码,200表示连接成功,404表示失败

response.content 用来保存图片音乐等文件

6.关于post和get的区别

1.相对post请求是安全的,因为get只是查询数据功能,而post是要更新数据的

2.get请求参数放在url?后,post放在http请求主体里面

在这里插入图片描述
在这里插入图片描述

data = {
    "cname":"",
    "pid":"",
    "keyword": "重庆",  #地址也可以修改
    "pageIndex": "1",
    "pageSize": "90"  #一页显示的数据
}
response = requests.post(url=post_url,data = data,headers=headers)

post请求要加上表单数据

7.解决cookie的问题

cookie:用来让服务器端记录客户端的相关状态
手动处理:通过抓包工具获取cookie值,将该值封装到headers中(不建议)
自动处理:cookie的来源是由模拟登录post请求后,由服务端创建。session会话的作用在请求发送的过程中产生了cookie,则该cookie会自动被储存到session对象中;用session对象对个人主页进行发送。

#创建一个session对象
session = requests.session()
response = session.post(url=url,data=data)

总结

以上就是今天要讲的内容,因为本人也是刚刚学习爬虫,所以也只能简单介绍了爬虫的使用,来爬取一些简单的网页。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值