python 爬虫入门 —— 爬取天猫搜索结果

最终效果:
在这里插入图片描述

前言

作为初学者,深知实现这样的功能简直是入门中的入门,但是为了掌握python爬虫,不妨就从最简单的测试开始入手。该篇文章只实现了爬取天猫搜索结果的第1页信息,因为从第2页开始就需要进行登陆验证,还有复杂的验证过程,因目前暂未深入,故简化了代码。若博文中有任何问题,欢迎各路大侠指证!请大侠们不吝赐教!

1.实现步骤

测试工具:Jupyter Notebook(anaconda3)

获取网页url -> 用正则表达式提取有用信息 -> 保存信息 -> 将信息转换成DataFrame对象 -> 信息处理(例:按价格升序)

2. 获取网页url

该步骤基于requests模块中的requests.get(url)方法,其中requests是python爬虫里最基础的模块,它可以提供一系列对网页操作的方法。

2.1 requests模块

  • requests模块的七个主要方法,如下表所示:
方法 说明
.request() 构造一个请求,支撑以下各方法的基础方法
.get() 获取HTML网页的主要方法,对应于HTTP的GET
.head() 获取HTML网页头信息的方法,对应于HTTP的HEAD
.post() 向HTML网页提交POST请求的方法,对应于HTTP的POST
.put() 向HTML网页提交PUT请求的方法,对应于HTTP的PUT
.patch() 向HTML网页提交局部修改请求,对应于HTTP的PATCH
.delete() 向HTML网页提交删除请求,对应于HTTP的DELETE
  • response对象的属性(简化成r),如下表所示
属性 说明
r.status_code HTTP请求的返回状态,200表示连接成功,404表示失败
r.text HTTP响应内容的字符串形式,即url对应的页面内容
r.encoding 从HTTP header中猜测的响应内容编码方式
r.apparent_encoding 从内容中分析出的响应内容编码方式(备选编码方式)
r.content HTTP响应内容的二进制形式

2.2 分析url

  • URL是统一资源定位符,是互联网上标准资源的地址。而互联网上的每个文件都有唯一的一个的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。

基于requests模块,接下来需要去天猫网站寻找有用的网址信息。

天猫的官网:https://www.tmall.com/
当查询一个商品,比如:[ 电脑 ] 后,网页跳转到:https://list.tmall.com/search_product.htm?q=%B5%E7%C4%D4,后面多余的信息可以省略,因为只搜索这部分网址也有效果,在网址中https://list.tmall.com/search_product.htm?是固定格式(直观地感觉),而后面的q=%B5%E7%C4%D4则是搜索的商品名称,为什么会是%B5这样的形式,因为这个网址的编码方式不会直接显示中文。
接下来查看页面源代码
在这里插入图片描述
其中有一句是meta charset="gbk",说明网站是采用GBK的编码方式,这样一来在解码获取页面信息时,就得用GBK的编码方式。

最终确定的url

url = 'https://list.tmall.com/search_product.htm?q='
q = input('请输入要搜索的商品名称: ')          
r = rq.get(url + q)

3.获取静态页面

基于requests模块的r.content.decode(‘编码方式’)方法,它可以提取网页的源代码,在这里则为html =

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值