第一步:

先分析这个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爬取淘宝里的手机报价并以价格排序的更多相关文章

  1. python 网路爬虫(二) 爬取淘宝里的手机报价并以价格排序

    今天要写的是之前写过的一个程序,然后把它整理下,巩固下知识点,并对之前的代码进行一些改进. 今天要爬取的是淘宝里的关于手机的报价的信息,并按照自己想要价格来筛选. 要是有什么问题希望大佬能指出我的错误 ...

  2. Python爬虫实战四之抓取淘宝MM照片

    原文:Python爬虫实战四之抓取淘宝MM照片其实还有好多,大家可以看 Python爬虫学习系列教程 福利啊福利,本次为大家带来的项目是抓取淘宝MM照片并保存起来,大家有没有很激动呢? 本篇目标 1. ...

  3. 一次Python爬虫的修改,抓取淘宝MM照片

    这篇文章是2016-3-2写的,时隔一年了,淘宝的验证机制也有了改变.代码不一定有效,保留着作为一种代码学习. 崔大哥这有篇>>小白爬虫第一弹之抓取妹子图 不失为学python爬虫的绝佳教 ...

  4. 【Python3 爬虫】14_爬取淘宝上的手机图片

    现在我们想要使用爬虫爬取淘宝上的手机图片,那么该如何爬取呢?该做些什么准备工作呢? 首先,我们需要分析网页,先看看网页有哪些规律 打开淘宝网站http://www.taobao.com/ 我们可以看到 ...

  5. python3编写网络爬虫16-使用selenium 爬取淘宝商品信息

    一.使用selenium 模拟浏览器操作爬取淘宝商品信息 之前我们已经成功尝试分析Ajax来抓取相关数据,但是并不是所有页面都可以通过分析Ajax来完成抓取.比如,淘宝,它的整个页面数据确实也是通过A ...

  6. Python网络爬虫(6)--爬取淘宝模特图片

    经过前面的一些基础学习,我们大致知道了如何爬取并解析一个网页中的信息,这里我们来做一个更有意思的事情,爬取MM图片并保存.网址为https://mm.taobao.com/json/request_t ...

  7. Python爬虫入门教程 42-100 爬取儿歌多多APP数据-手机APP爬虫部分

    1. 儿歌多多APP简单分析 今天是手机APP数据爬取的第一篇案例博客,我找到了一个儿歌多多APP,没有加固,没有加壳,没有加密参数,对新手来说,比较友好,咱就拿它练练手,熟悉一下Fiddler和夜神 ...

  8. python爬虫学习(三):使用re库爬取"淘宝商品",并把结果写进txt文件

    第二个例子是使用requests库+re库爬取淘宝搜索商品页面的商品信息 (1)分析网页源码 打开淘宝,输入关键字“python”,然后搜索,显示如下搜索结果 从url连接中可以得到搜索商品的关键字是 ...

  9. 利用Python爬虫爬取淘宝商品做数据挖掘分析实战篇,超详细教程

    项目内容 本案例选择>> 商品类目:沙发: 数量:共100页  4400个商品: 筛选条件:天猫.销量从高到低.价格500元以上. 项目目的 1. 对商品标题进行文本分析 词云可视化 2. ...

随机推荐

  1. Pandas模块 -- 实操练习

    如果对序列进行数学函数的运算,首选numpy模块: 如果对序列做统计运算,首选序列的“方法”,因为序列的“方法”更加丰富,如计算序列的偏度.峰度等,而Numpy模块是没有这样的函数. 手工构造数据框D ...

  2. space-cloud 支持多数据库多rest&& graphql web server

    space-cloud 是一个开源的类似hasura 的graphql 引擎,但是space-cloud 同时支持rest api,而且支持多数据库 基于golang 编写,功能看着很强大 参考图 功 ...

  3. MVVM架构方式

    一.概念 ①常见的架构方式或者开发思想还有MVC.MVP和MVVM,参考文章:MVC,MVP 和 MVVM 的图示 ②MVC:视图(View),指用户界面:控制器(Controller),指业务逻辑: ...

  4. BZOJ 1801: [Ahoi2009]中国象棋

    题目描述 //每行每列最多放两个,可以讨论第i-1行到第i行的每一种情况 #include<complex> #include<cstdio> using namespace ...

  5. A*G#C001

    AGC001 A BBQ Easy 贪心. https://agc001.contest.atcoder.jp/submissions/7856034 B Mysterious Light 很nb这个 ...

  6. ubuntu笔记1-vim安装报错

    ubuntu安装vim的时候,报错提示:vim : 依赖: vim-common (= 2:7.3.429-2ubuntu2) 但是 2:7.3.429-2ubuntu2.1 正要被安装 说明既存的v ...

  7. 【技术博客】Git Flow模型管理代码版本

    参考GIT版本管理:Git Flow模型,在此基础上加入了自己的理解,增加人员分工和相应代码,并根据本次项目的实际情况进行相应修改. 在本学期的软件工程开发过程中,我们从alpha阶段就使用了git ...

  8. window.showModelessDialog传值

    参数传递:1.   要想对话框传递参数,是通过vArguments来进行传递的.类型不限制,对于字符串类型,最大为4096个字符.也可以传递对象,例如:------------------------ ...

  9. SAS PROC SGPLOT

    OPTIONS LS=MAX PS=MAX NOCENTER USER='.\00@Data'; PROC PRINT DATA=OpenDate;RUN; ODS LISTING GPATH='.\ ...

  10. Java 字符集编码

    一.字符编码实例1.NioTest13_In.txt文件内容拷贝到NioTest13_Out.txt文件中 public class NioTest13 { public static void ma ...