import requests
import re
def getHTMLText(url): #获得页面函数,淘宝需要登录验证,暂时访问不了
try:
header={
'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
'cookie':'cookie2=11c16410d3a6142b1fdd7a16015dd03d; t=09f34aa2c73f130d6c7184f5df19318f; _tb_token_=387eb33dee36b; cna=3M6cFtwvoFgCAXLchLEf1mZd; v=0; unb=2015695879; uc3=vt3=F8dBxdkOfjJ3eDeXSSI%3D&lg2=V32FPkk%2Fw0dUvg%3D%3D&nk2=tacC1tKNp%2Flo&id2=UUjQnXynNxyppA%3D%3D; csg=0b016f75; lgc=%5Cu6731%5Cu5B5C%5Cu8F69zzx; cookie17=UUjQnXynNxyppA%3D%3D; dnk=%5Cu6731%5Cu5B5C%5Cu8F69zzx; skt=24b614735d33b345; existShop=MTU3ODQ5MjE0MA%3D%3D; uc4=nk4=0%40txMJ9z03E8Z3GRFQEHZ3NdNLHdU%3D&id4=0%40U2oyV9BEdCasU86z%2Bh8TF2rESQec; tracknick=%5Cu6731%5Cu5B5C%5Cu8F69zzx; _cc_=VT5L2FSpdA%3D%3D; tg=0; _l_g_=Ug%3D%3D; sg=x9b; _nk_=%5Cu6731%5Cu5B5C%5Cu8F69zzx; cookie1=WvNAaZtZc3obpDNGHdQ%2BnDNUGwSycqAEVFI5i3CFl8A%3D; enc=X7yKcnL4fJK1gvtDWpQOSrrhkUDEK2b7LCvDjfkAvZWuuLMgw%2B0Vzt2z4QhhY%2F5mRjiWsTiRjqSKN34mjIJsfw%3D%3D; hng=CN%7Czh-CN%7CCNY%7C156; uc1=cookie16=VFC%2FuZ9az08KUQ56dCrZDlbNdA%3D%3D&cookie21=UtASsssmeW6lpyd%2BB%2B3t&cookie15=UtASsssmOIJ0bQ%3D%3D&existShop=false&pas=0&cookie14=UoTbldZgIdco1w%3D%3D&tag=8&lng=zh_CN; mt=ci=0_1; thw=cn; JSESSIONID=E85E6E6772327F04DA28C3EEB6B007EE; l=dBL71UGcQTh-dKBCBOfIKEPu0pQ9qBOb4sPy3z80uICP9Q5p-D4NWZDWy289CnGVH62vR3PBVv73BeYBqCmWfdW22j-la7ijndC..; isg=BLa23G0l9BSdP4BwsNSxjifQB-y41_oRfLPT6SCY9xk0Y1b9iGfLIR0Ze3-qS_Ip'
}
r=requests.get(url,headers=header,timeout=30)
r.raise_for_status()
r.encoding=r.apparent_encoding
# print(r.text)
return r.text
except:
return ""
def parsePage(ilt,html): #解析获得的页面
try:
plt=re.findall(r'\"view_price\"\:\"[\d\.]*"',html)
tlt=re.findall(r'\"raw_title\"\:\".*?"',html)
for i in range(len(plt)):
price=eval(plt[i].split(':')[1])
title=eval(tlt[i].split(':')[1])
ilt.append([price,title])
except:
print("")
def printGoodlist(ilt): #输出结果信息到屏幕
tplt="{:4}\t{:8}\t{:16}"
print(tplt.format("序号","价格","商品名称"))
count=0
for g in ilt:
count=count+1
print(tplt.format(count,g[0],g[1]))
def main(): #主函数
goods='书包'
depth=2 #下一页深度
start_url='https://s.taobao.com/search?q=' + goods
indolist=[] #输出结果
for i in range(depth):
try:
url=start_url + '&s=' + str(44*i)
html=getHTMLText(url)
parsePage(indolist,html)
except:
continue
printGoodlist(indolist)
main()
没有合适的资源?快使用搜索试试~ 我知道了~
python爬取淘宝商品价格
共1个文件
py:1个
需积分: 5 10 下载量 21 浏览量
2023-07-26
13:21:06
上传
评论 1
收藏 2KB ZIP 举报
温馨提示
Python爬取淘宝商品价格的功能描述如下: 用户输入要查询的淘宝商品名称或关键字。 使用Python的requests库向淘宝网发送GET请求,带上用户输入的关键字作为参数,获取搜索结果页面的HTML内容。 使用BeautifulSoup库解析HTML内容,提取商品列表中每个商品的URL。 遍历商品URL列表,对每个URL发送GET请求,获取商品详情页的HTML内容。 使用BeautifulSoup库解析商品详情页的HTML内容,定位到商品价格所在的元素。 提取商品价格,并保存到一个列表或字典中,可以包括商品名称、价格等相关信息。 继续遍历其他商品URL,重复步骤5和6,直到所有商品的价格都被提取。 将爬取到的商品价格进行展示,可以通过打印到控制台、写入文件或者展示在GUI界面中。 需要注意的是,使用Python爬取淘宝商品价格时,应该遵循以下几点: 遵守相关网站的使用规定和政策,尊重网站的隐私和版权。 使用合适的请求头信息,模拟浏览器行为,避免被网站防爬机制识别为爬虫。 处理网页解析的异常情况,例如元素不存在、HTML结构变化等情况。 控制爬取频率,避免对服务器造成过大的负载。
资源推荐
资源详情
资源评论
收起资源包目录
python爬取淘宝商品价格.zip (1个子文件)
python爬取淘宝商品价格
CrawTaobaoPrice.py 3KB
共 1 条
- 1
资源评论
童小纯
- 粉丝: 3w+
- 资源: 289
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功