【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. ...
随机推荐
- linux中的目录
Linux文件系统数如下: 在 Linux 系统中,文件系统通过目录"包含"子目录及文件的方式,来组织成一个树状结构.那么目录到底是如何"包含"其他目录及文件的 ...
- SpringCloud:Feign模块引用版本问题
1.问题报错 org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import cand ...
- TypeError: BlobBuilder is not a constructor
var BlobBuilder = window.BlobBuilder || window.MozBlobBuilder || window.WebKitBlobBuilder || window. ...
- OpenFOAM——圆柱绕流对流换热
本算例来自<ANSYS FLUENT技术基础与工程应用:流动传热与环境污染控制领域> TOP和DOWN为对称边界(symmetry),入口速度为0.01m/s,入口温度为300K,圆柱温度 ...
- ansible-playbook-常用
创建软链:file: - name: create link hosts: "{{hosts_ip}}" tasks: - name: create link file: src= ...
- load average 定义(网易面试)
1. load average 定义 linux系统中的Load对当前CPU工作量的度量.简单的说是进程队列的长度. Load Average 就是一段时间 (1 分钟.5分钟.15分钟) 内平均 L ...
- 【技术博客】Pytorch代码生成
开发组在开发过程中,都不可避免地遇到了一些困难或问题,但都最终想出办法克服了.我们认为这样的经验是有必要记录下来的,因此就有了[技术博客]. Pytorch代码生成经验文档 关于模型代码的生成,主要思 ...
- js Map的使用
setExpenseAndAmountSum: function() { var detailList = vehicleVueObj.vehicleData; var expenseAmountSu ...
- 强烈建议为你的Android项目加上 largeHeap 属性
小内存机器使用“微信”时,看视频经常崩溃(out of memory) ,小内存机器有时候明明内存还很多,却还是抛出“内存不够”,应该就是每个APP能用“堆大小”的限制. 如上图,Android项目的 ...
- 认真分析mmap:是什么 为什么 怎么用(转)
阅读目录 mmap基础概念 mmap内存映射原理 mmap和常规文件操作的区别 mmap优点总结 mmap相关函数 mmap使用细节 回到顶部 mmap基础概念 mmap是一种内存映射文件的方法,即将 ...