自学python之爬虫2

这次爬取的是淘宝网,通过关键词搜索后,获取结果中商品的名称和价格

 1 import requests
 2 import re
 3
 4 #获取页面
 5 def getHTMLText(url):
 6     try:
 7         r = requests.get(url, timeout=30)
 8         r.raise_for_status()
 9         r.encoding = r.apparent_encoding
10         return r.text
11     except:
12         return "get fail"
13
14 #解析页面
15 def parsePage(ilt, html):
16     try:
17         plt = re.findall(r‘\"view_price\"\:\"[\d\.]*\"‘,html) #商品价格
18         tlt = re.findall(r‘\"raw_title\"\:\".*?\"‘,html) #商品名称
19         for i in range(len(plt)):
20             price = eval(plt[i].split(‘:‘)[1])
21             title = eval(tlt[i].split(‘:‘)[1])
22             ilt.append([price , title])
23     except:
24         print(‘parse fail‘)
25
26 #输出商品信息
27 def printGoodsList(ilt):
28     tplt = "{:4}\t{:8}\t{:16}"
29     print(tplt.format("序号", "价格", "商品名称"))
30     count = 0
31     for g in ilt:
32         count = count + 1
33         print(tplt.format(count, g[0], g[1]))
34
35 #主函数
36 def main():
37     goods = ‘书包‘ #搜索关键词
38     depth = 2 #搜索深度,即页数
39     start_url = ‘https://s.taobao.com/search?q=‘ + goods
40     infoList = []
41     for i in range(depth):
42         try:
43             url = start_url + ‘&s=‘ + str(44*i)
44             html = getHTMLText(url)
45             parsePage(infoList, html)
46         except:
47             continue
48     printGoodsList(infoList)
49
50 main()

结果:

时间: 2024-11-07 16:09:53

自学python之爬虫2的相关文章

自学Python之四 爬虫基础知识储备

首先,推荐两个关于python爬虫不错的博客:Python爬虫入门教程专栏   和 Python爬虫学习系列教程 .写的都非常不错,我学习到了很多东西!在此,我就我看到的学到的进行总结一下! 爬虫就是一个不断的去抓去网页的程序,根据我们的需要得到我们想要的结果!但我们又要让服务器感觉是我们人在通过浏览器浏览不是程序所为!归根到底就是我们通过程序访问网站得到html代码,然后分析html代码获取有效内容的过程.下面让我们从最简单的爬虫开始: 爬取一个页面源代码 在python中,抓取网页的库是ur

自学Python之七 爬虫实战一

此文承接上文,让我们写一个简简单单的爬虫,循序而渐进不是吗?此次进行的练习是爬取前5页什么值得买网站中的白菜价包邮信息.包括名称,价格,推荐人,时间. 我们所需要做的工作:1.确定URL并获得页面代码. 2.用正则匹配每件商品我们所需要的内容 3.打印信息  我还是直接上代码吧,具体步骤看注释就好啦!(代码会引用HttpClient.py,可以参考之前的SmartQQ协议一文)! 1 # -*- coding: utf-8 -*- 2 import re,time,os 3 from HttpC

自学Python之八 爬虫大坑之网页乱码

Bug有时候破坏的你的兴致,阻挠了保持到现在的渴望.可是,自己又非常明白,它是一种激励,是注定要被你踩在脚下的垫脚石! python2.7中最头疼的可能莫过于编码问题了,尤其还是在window环境下,有时候总是出现莫名其妙的问题,有时候明明昨天还好好的,今天却突然...遇到这种问题真的是一肚子的火...fuck! 首先,在我们编写python代码的时候就要注意一些编码的规范. 1.源码文件用#-*-coding:utf-8-*- 指定编码并把文件保存为utf-8格式 2.文件开头使用from _

自学python之爬虫3股票数据爬虫

目标:获取股票上交所和深交所所有股票的名称和交易信息,保存在文件中 使用到的技术:requests+bs4+re 网站的选择(选取原则:股票信息静态存在HTML页面,非js代码生成没哟robot协议限制) 1. 获取股票列表:http://quote.eastmoney.com/stocklist.html (因为东方财富网站的有全部股票信息的列表,百度股票网站只要个股信息) 2. 获取个股信息: 百度股票:https://gupiao.baidu.com/stock/ 单个股票:https:/

自学PYTHON爬虫阶段总结

自学python爬虫有大概半个月时间了吧 先是了解了一下爬虫的基本结构和流程 然后学习了各种库和正则的知识 这里要特别注意一下,学习正则开始的时候会很难,因为这个玩意根本就不是给人类用的,正则表达式开始的时候是一个神经科学家发明用来研究人类行为和神经反射的时候的模式所以他是反人类的 不过到后面会发现有很大的用处,因为正则不只存在与Python一个语言里面,很多语言里面都有,所以是一个绕不开的项目. 开始建议用BS4和Scrapy  要不然会严重打击自信心的 爬虫其实是属于数据挖掘的领域.不过用来

孤荷凌寒自学python第八十天开始写Python的第一个爬虫10

(完整学习过程屏幕记录视频地址在文末) 原计划今天应当可以解决读取所有页的目录并转而取出所有新闻的功能,不过由于学习时间不够,只是进一步优化了自定义函数的写法. 一.优化并新增了几个操作word文档的函数 ``` #!/usr/bin/env python3 # -*- coding: utf-8 -*- import string import time import random from docx.enum.style import WD_STYLE_TYPE #所有样式 (包括段落.文字

零基础自学Python 3开发网络爬虫(二): 用到的数据结构简介以及爬虫Ver1.0 alpha

上一回, 我学会了 用伪代码写出爬虫的主要框架; 用Python的urllib.request库抓取指定url的页面; 用Python的urllib.parse库对普通字符串转符合url的字符串. 这一回, 开始用Python将伪代码中的所有部分实现. 由于文章的标题就是"零基础", 因此会先把用到的两种数据结构队列和集合介绍一下. 而对于"正则表达式"部分, 限于篇幅不能介绍, 但给出我比较喜欢的几个参考资料. Python的队列 在爬虫程序中, 用到了广度优先搜

【转载】如何系统地自学 Python?

原文:如何系统地自学 Python? 作者:彭猫 本文由 知乎 彭猫 授权发布,版权所有归作者,转载请联系作者! 是否非常想学好 Python,一方面被琐事纠缠,一直没能动手,另一方面,担心学习成本太高,心里默默敲着退堂鼓? 幸运的是,Python 是一门初学者友好的编程语言,想要完全掌握它,你不必花上太多的时间和精力. Python 的设计哲学之一就是简单易学,体现在两个方面: 语法简洁明了:相对 Ruby 和 Perl,它的语法特性不多不少,大多数都很简单直接,不玩儿玄学. 切入点很多:Py

Python网络爬虫实战视频教程

Python网络爬虫实战教程(全套完整版) 课程观看地址:http://www.xuetuwuyou.com/course/168课程出自学途无忧网:http://www.xuetuwuyou.com 课程目录:课时1:课程介绍课时2:Python初识课时3:Python语法基础 课时4:Python控制流与小实例 课时5:答疑环节 课时6:Python函数详解 课时7:Python模块实战 课时8:Python文件操作实战 课时9:Python异常处理实战 课时10:Python面向对象编程