【Python爬虫案例学习】python爬取淘宝里的手机报价并以价格排序
第一步:
先分析这个url,”?“后面的都是它的关键字,requests中get函数的关键字的参数是params,post函数的关键字参数是data,
关键字用字典的形式传进去,这样我们就可以自己改关键字去搜索别的东西或者是搜索别的页面,我对手机比较感兴趣所以
就爬取了关于手机的页面。
第二步:
直接先给出源代码,然后细节再慢慢的说。
# encoding:utf8
import requests
import re
'''
遇到不懂的问题?Python学习交流群:821460695满足你的需求,资料都已经上传群文件,可以自行下载!
'''
def printGoodsList(list):
list = sorted(list,key=lambda x: x[1],reverse=True)
m = '{:16}\t{:8}'
print(m.format("商品名称", "商品价格"))
for i in list:
print(m.format(i[0],i[1]))
def main():
phone = []
data={
'q':'手机',
's':0
}
url = 'https://s.taobao.com/search'
for i in range(0,48*10,48):
data['s'] = i
try:
r = requests.get(url,params=data)
r.encoding=r.apparent_encoding
html = r.text
reg = r'"title":"(.*?)".*?"price":"(.*?)"'
phonelist = re.findall(reg, html)
except:
print("失败")
for a in phonelist:
if(int(a[1])>4000):
phone.append((a[0],int(a[1])))
printGoodsList(phone)
main()
从main函数里看:
先定义一个phone的列表存储关于手机的信息。
然后定义一个data的字典,里面是url关键字的信息。
用一个for循环爬取多页的信息。
for循环里:
r = requests.get(url,params=data)
r.encoding=r.apparent_encoding
html = r.text
这些是获取页面信息。
reg = r'"title":"(.*?)".*?"price":"(.*?)"'
phonelist = re.findall(reg, html)
用最简单的正则表达式 .*? 提取出我们想要的手机的名字跟手机的价格(正则表达式还没有深入去学习),有小伙伴想
获取其他的信息也可以自己去试试匹配你想要提取的信息,然后把提取出来的信息存放到phonelist里。获取网页信息当中要用
try except,捕捉出现的异常。
for a in phonelist:
if(int(a[1])>4000):
phone.append((a[0],int(a[1])))
再用一个for循环把提取到的信息添加在phone列表里(以元组的形式存放进去,因为方便之后的排序),当然你也可以再筛选其中的信息,
我就是筛选了价格高于四千的手机,看下土豪用的都是些什么手机。
然后调用printGoodsList函数,接下来我们说说这个函数:
def printGoodsList(list):
list = sorted(list,key=lambda x: x[1],reverse=True)
m = '{:16}\t{:8}'
print(m.format("商品名称", "商品价格"))
for i in list:
print(m.format(i[0],i[1]))
函数里的一个行用到的是sorted函数,这个函数有几个参数,第一个是可迭代的对象,第二个是具有两个参数的比较的函数,第三个是进行
比较的元素,只有一个参数,最后一个参数是排序规则,默认值是False,从小到大的排序。
我用到的是lambda这个匿名函数,然后把排序后的信息赋值给list
后面就是输出我们排好序的信息。
【Python爬虫案例学习】python爬取淘宝里的手机报价并以价格排序的更多相关文章
- python 网路爬虫(二) 爬取淘宝里的手机报价并以价格排序
今天要写的是之前写过的一个程序,然后把它整理下,巩固下知识点,并对之前的代码进行一些改进. 今天要爬取的是淘宝里的关于手机的报价的信息,并按照自己想要价格来筛选. 要是有什么问题希望大佬能指出我的错误 ...
- Python爬虫实战四之抓取淘宝MM照片
原文:Python爬虫实战四之抓取淘宝MM照片其实还有好多,大家可以看 Python爬虫学习系列教程 福利啊福利,本次为大家带来的项目是抓取淘宝MM照片并保存起来,大家有没有很激动呢? 本篇目标 1. ...
- 一次Python爬虫的修改,抓取淘宝MM照片
这篇文章是2016-3-2写的,时隔一年了,淘宝的验证机制也有了改变.代码不一定有效,保留着作为一种代码学习. 崔大哥这有篇>>小白爬虫第一弹之抓取妹子图 不失为学python爬虫的绝佳教 ...
- 【Python3 爬虫】14_爬取淘宝上的手机图片
现在我们想要使用爬虫爬取淘宝上的手机图片,那么该如何爬取呢?该做些什么准备工作呢? 首先,我们需要分析网页,先看看网页有哪些规律 打开淘宝网站http://www.taobao.com/ 我们可以看到 ...
- python3编写网络爬虫16-使用selenium 爬取淘宝商品信息
一.使用selenium 模拟浏览器操作爬取淘宝商品信息 之前我们已经成功尝试分析Ajax来抓取相关数据,但是并不是所有页面都可以通过分析Ajax来完成抓取.比如,淘宝,它的整个页面数据确实也是通过A ...
- Python网络爬虫(6)--爬取淘宝模特图片
经过前面的一些基础学习,我们大致知道了如何爬取并解析一个网页中的信息,这里我们来做一个更有意思的事情,爬取MM图片并保存.网址为https://mm.taobao.com/json/request_t ...
- Python爬虫入门教程 42-100 爬取儿歌多多APP数据-手机APP爬虫部分
1. 儿歌多多APP简单分析 今天是手机APP数据爬取的第一篇案例博客,我找到了一个儿歌多多APP,没有加固,没有加壳,没有加密参数,对新手来说,比较友好,咱就拿它练练手,熟悉一下Fiddler和夜神 ...
- python爬虫学习(三):使用re库爬取"淘宝商品",并把结果写进txt文件
第二个例子是使用requests库+re库爬取淘宝搜索商品页面的商品信息 (1)分析网页源码 打开淘宝,输入关键字“python”,然后搜索,显示如下搜索结果 从url连接中可以得到搜索商品的关键字是 ...
- 利用Python爬虫爬取淘宝商品做数据挖掘分析实战篇,超详细教程
项目内容 本案例选择>> 商品类目:沙发: 数量:共100页 4400个商品: 筛选条件:天猫.销量从高到低.价格500元以上. 项目目的 1. 对商品标题进行文本分析 词云可视化 2. ...
随机推荐
- Numpy | 11 迭代数组
NumPy 迭代器对象 numpy.nditer 提供了一种灵活访问一个或者多个数组元素的方式. 迭代器最基本的任务的可以完成对数组元素的访问. 实例1:使用 arange() 函数创建一个 2x3 ...
- 使用grok exporter 做为log 与prometheus 的桥
grok 是一个工具,可以用来解析非结构化的日志文件,可以使其结构化,同时方便查询,grok 被logstash 大量依赖 同时社区也提供了一个prometheus 的exporter 可以方便的进行 ...
- Entity Framework Core Query Types
This feature was added in EF Core 2.1 Query types are non-entity types (classes) that form part of t ...
- SQL基础-游标&事务
一.游标 1.游标简介 SQL是一种集合操作语言,但有时候需要对单行操作怎么办呢? 也就是有时候会过滤出不止一行的数据,但是想一行行的处理: ---游标 游标: 从集合中依次提取单条记录,直接提取完最 ...
- 内核过DSE驱动签名验证.
一丶简介 现在的驱动,必须都有签名才能加载.那么如何加载无签名的驱动模块那. 下面可以说下方法.但是挺尴尬的是,代码必须在驱动中编写.所以就形成了 你必须一个驱动带有一个签名加载进去.执行你的代码.p ...
- 剑指offer:表示数值的字符串
题目描述: 请实现一个函数用来判断字符串是否表示数值(包括整数和小数).例如,字符串"+100","5e2","-123","3. ...
- Tocmat 统计tomcat进程内的线程数
获取tomcat进程pid ps -ef | grep tomcat 统计该tomcat进程内的线程个数 ps -Lf 558899 | wc -l
- HTTPS原理分析
引言 随着互联网安全意识的普遍提高,对安全要求稍高的应用中,HTTPS的使用是很常见的,所以,无论是即时通讯IM还是其它应用,在网络安全意识增强的今天,很多场景下使用HTTPS是肯定没错的.对于即时通 ...
- vue-devtools 获取到 vuex store 和 Vue 实例的?
vue-devtools 获取到 vuex store 和 Vue 实例的? https://github.com/vuejs/vue-devtools 安装了 vue-devTools ...
- 软件开发的podcast
目录 中文 喜马拉雅 https://www.ximalaya.com/ SingularFM 8个开发者值得一听的英文 Podcast https://zhuanlan.zhihu.com/p/24 ...