python爬虫步骤解析

一、爬虫概念

(1)概念:网络蜘蛛、网络机器人、抓取网络数据的程序
用python程序去模拟人访问网站,模拟的 越像越好
获取数据的目的:通过有效的大量数据去分析市场走势

(2)企业获取数据的方式
1)公司自有数据
2)第三方平台购买
3)爬虫爬取数据

(3)python爬虫的优势
请求模块,解析模块丰富成熟,具有强大的scrapy框架
1)java:代码笨重,代码量很大
2)c/c++:虽然效率很高,但是代码成型很慢
3)php:对多线程,异步支持不好

(4)访问网页的流程(http和https的区别:http端口80,https端口为443,https比http更加安全,需要认证才可获得证书):
1)用户正常访问网页的流程:
确定网页的url–>通过http请求访问页面(回车)–>渲染后的网页页面
当用户正常访问一个页面时,页面会形成一个user-agent信息,里面包括了浏览器信息以及操作系统信息
2)爬虫访问网页的流程
确定网页的url–>通过http请求访问页面(通过模块发起请求)–>获取构成网页的网页源代码

2、requests请求模块爬虫步骤

(1)确定网页的url并调用get请求
(为了伪装还应添加headers请求头信息,这些信息可以到你所要爬取的网页中找)

import requests

#get请求
#res包含网页的所有请求,跟你正常在浏览器中搜索url所返回的信息一样,不过我们需要进一步处理信息才能看到我们想要的东西
res=requests.get(url,headers={},params={})#对url地址发起请求并获取响应

tips:
url:请求的域名
headers:请求携带的请求头信息,主要用于爬虫伪装,避免被网页捕获为爬虫而导致请求被拦截
data/params:请求携带的参数信息,可以为翻页获取数据提供帮助(url不可省略,其他两个可以省略)

(2)设置解码格式,获取网页源代码

res=requests.get(url)#对url地址发起请求并获取响应信息
res.encoding="utf-8"#将得到的 相应内容编码为utf-8
html=res.text #解析得到的响应文本内容
print(html)#此时输出的是网页源代码

(3)多页抓取

#构建多页抓取的循环
for page in range(1,6):
    pn=(page-1)*10
#构建请求参数字典
    params={"wd":word,
         "pn":str(pn)#添加换页的参数pn
         }
    res = requests.get(url, headers=headers, params=params)

    res.encoding = "utf-8"
    html = res.text
    print(html)
    print(res.url)  # 查看是否请求被屏蔽

tips:浏览你所需要爬取的网页,点击下一页,看看url如何变化,此时可以构造出对应的url,达到翻页爬取的效果。
注意:有时需要在请求参数params中拼接页数,而有时直接在url中拼接页数,注意观察翻页时地址栏的变化就行。

如何解析爬取的数据,获得 我们想要爬取的数据,见下一篇文章

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值