淘宝商品与股票数据爬虫实战

在学过正则表达式后,跟着老师实战了下“淘宝商品比价定向爬虫”和“股票数据定向爬虫”这两个。

一开始我想了下,思路好迷糊,不好从哪下手。在看了老师的教程后,才慢慢的理解了。下面是代码与效果

淘宝商品比价定向爬虫:

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

下面是效果:

股票数据定向爬虫:

 1 import requests
 2 from bs4 import BeautifulSoup
 3 import traceback
 4 import re
 5
 6 def getHTMLText(url, code="utf-8"):
 7     try:
 8         r = requests.get(url)
 9         r.raise_for_status()
10         r.encoding = code
11         return r.text
12     except:
13         return ""
14
15 def getStockList(lst, stockURL):
16     html = getHTMLText(stockURL, "GB2312")#由于知道网站编码,就可以直接赋值进去,如果用r.status_encoding的话时间更久些
17     soup = BeautifulSoup(html, ‘html.parser‘)
18     a = soup.find_all(‘a‘)
19     for i in a:
20         try:
21             href = i.attrs[‘href‘]
22             lst.append(re.findall(r"[s][hz]\d{6}", href)[0])
23         except:
24             continue
25
26 def getStockInfo(lst, stockURL, fpath):
27     count = 0
28     for stock in lst:
29         url = stockURL + stock + ".html"
30         html = getHTMLText(url)
31         try:
32             if html=="":
33                 continue
34             infoDict = {}
35             soup = BeautifulSoup(html, ‘html.parser‘)
36             stockInfo = soup.find(‘div‘,attrs={‘class‘:‘stock-bets‘})
37
38             name = stockInfo.find_all(attrs={‘class‘:‘bets-name‘})[0]
39             infoDict.update({‘股票名称‘: name.text.split()[0]})
40
41             keyList = stockInfo.find_all(‘dt‘)
42             valueList = stockInfo.find_all(‘dd‘)
43             for i in range(len(keyList)):
44                 key = keyList[i].text
45                 val = valueList[i].text
46                 infoDict[key] = val
47
48             with open(fpath, ‘a‘, encoding=‘utf-8‘) as f:
49                 f.write( str(infoDict) + ‘\n‘ )
50                 count = count + 1
51                 print("\r当前进度: {:.2f}%".format(count*100/len(lst)),end="")
52         except:
53             count = count + 1
54             print("\r当前进度: {:.2f}%".format(count*100/len(lst)),end="")
55             continue
56
57 def main():
58     stock_list_url = ‘http://quote.eastmoney.com/stocklist.html‘
59     stock_info_url = ‘https://gupiao.baidu.com/stock/‘
60     output_file = ‘E:/BaiduStockInfo.txt‘
61     slist=[]
62     getStockList(slist, stock_list_url)
63     getStockInfo(slist, stock_info_url, output_file)
64
65 main()

效果的话先放这个吧,爬取时间有点慢

时间: 2024-10-07 07:20:49

淘宝商品与股票数据爬虫实战的相关文章

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

项目内容 本案例选择>> 商品类目:沙发: 数量:共100页  4400个商品: 筛选条件:天猫.销量从高到低.价格500元以上. 项目目的 1. 对商品标题进行文本分析 词云可视化 2. 不同关键词word对应的sales的统计分析 3. 商品的价格分布情况分析 4. 商品的销量分布情况分析 5. 不同价格区间的商品的平均销量分布 6. 商品价格对销量的影响分析 7. 商品价格对销售额的影响分析 8. 不同省份或城市的商品数量分布 9.不同省份的商品平均销量分布 注:本项目仅以以上几项分析为

python基础项目实战:selenium控制浏览器爬取淘宝商品信息

今天为大家介绍一个Python利用selenium打开浏览器的方式来爬取淘宝商品的信息,下面就来看看,关于selenium的知识点,是如何做到控制浏览器获取网站的信息 导入第三方库 关键词搜索 抓取索引页 大家在学python的时候肯定会遇到很多难题,以及对于新技术的追求,这里推荐一下我们的Python学习扣qun:784758214,这里是python学习者聚集地!!同时,自己是一名高级python开发工程师,从基础的python脚本到web开发.爬虫.django.数据挖掘等,零基础到项目实

淘宝商品列表以及商品详情数据抓取

前段时间老师让我爬取淘宝的商品列表以及其商品详情数据,期间遇到了很多问题.最困难的就是淘宝的价格数据是以Ajax异步加载的,这些数据暂时还没有能力获取到. 下面介绍一下基本思路. 首先,通过抓取商品列表的商品ID获取商品的身份标识,然后根据商品ID跳转到具体的商品列表,对其他属性进行抓取. 观察两条商品列表的URL: https://s.taobao.com/search?q=帽子&imgfile=&commend=all&ssid=s5-e&search_type=ite

利用Selenium爬取淘宝商品信息

一.  Selenium和PhantomJS介绍 Selenium是一个用于Web应用程序测试的工具,Selenium直接运行在浏览器中,就像真正的用户在操作一样.由于这个性质,Selenium也是一个强大的网络数据采集工具,其可以让浏览器自动加载页面,这样,使用了异步加载技术的网页,也可获取其需要的数据. Selenium模块是Python的第三方库,可以通过pip进行安装: pip3 install selenium Selenium自己不带浏览器,需要配合第三方浏览器来使用.通过help命

用PHP抓取淘宝商品的用户晒单评论+图片实例

为什么想起来做这个功能?是因为前段时间在做一个淘客网站的时候,想到是否能抓取到淘宝商品的买家秀呢?经过一番折腾发现,淘宝商品用户评价信息是通过Ajax来调取的,通过嗅探网址发现,评论数据的请求接口是: https://rate.tmall.com/list_detail_rate.htm?itemId=524394294771&spuId=341564036&sellerId=100414600&order=3&currentPage=1&append=0&

YY淘宝商品数据库设计

http://www.cnblogs.com/mmmjiang13/archive/2010/11/04/1868609.html 前言 这几个月都在做一个通过淘宝API线下管理淘宝店的系统,学习了很多东西,这里想对淘宝商品表设计用自己的想法表现出来,如果你觉得很扯淡,可以写下自己的看法.OK,切入正题. 淘宝的商品这块的复杂程度,是我见过的电子商务网站中最复杂的,灵活性最高的.在看下文之前,先说一下在淘宝中的以下名词:关键属性,销售属性,非关键属性.如下图: 关键属性:能够确认唯一产品的属性,

仿淘宝商品浏览界面, 向上拉查看详情

最新项目中有展示类似淘宝商品详情的功能,主要实现  向上拉查看详情,百度一搜,发现有大神已经实现这个效果了 http://blog.csdn.net/zhongkejingwang/article/details/38656929 写的很棒.用2个ScrollView 实现上拉查看详情的功能 可是发如今用在我的项目有点问题,有些小的需求没有实现,所以就在这位大神的基础上加入了简单的功能 1. 事件回调.   第二页全然显示出来的回调,能够用来载入数据 2. 事件回调.   当用户滑到第一个Scr

转:YY淘宝商品数据库设计

转 :http://www.cnblogs.com/mmmjiang13/archive/2010/11/04/1868609.html 前言 这几个月都在做一个通过淘宝API线下管理淘宝店的系统,学习了很多东西,这里想对淘宝商品表设计用自己的想法表现出来,如果你觉得很扯淡,可以写下自己的看法.OK,切入正题. 淘宝的商品这块的复杂程度,是我见过的电子商务网站中最复杂的,灵活性最高的.在看下文之前,先说一下在淘宝中的以下名词:关键属性,销售属性,非关键属性.如下图: 关键属性:能够确认唯一产品的

淘宝商品快速上传到拼多多方法

在拼多多上要开店的商家,首先上传商品是必须的.很多拼多多商家都是从其他电商平台转移过去的,那么上传拼多多商品的时候,可以用一个快速上传的方法.既然要上传商品,那么选款也是一条必经之路,上传商品,上传什么样的商品,怎么上,都需要我们商家慢慢去琢磨. 对于个人做的店铺,多爆款模式明显是不符合实际的,即使是大企业都操作不来,因为拼多多不可能把过多的流量给一个店铺,那样其他商家没办法活的,所以建议大家,选择一个宝贝去做主推,然后做补量数据的时候,带着其他款式,或者偶尔做一下其他款式的数据. 等我们把款选