当前位置: 首页 > news >正文

济南知名网站建设平台做网站的步骤

济南知名网站建设平台,做网站的步骤,淄博网页设计师招聘,专业集团网站建设京东数据批量采集 ●前言 一年一度的端午节又到了#xff0c;甜咸粽子之争也拉开了帷幕#xff0c;它价格高昂#xff0c;它味道鲜美#xff0c;然而#xff0c;默默无名的它却备受广大民众喜爱#xff01;好家伙#xff0c;一看就是老qq看点了 #xff0c;那咱们能做…京东数据批量采集 ●前言 一年一度的端午节又到了甜咸粽子之争也拉开了帷幕它价格高昂它味道鲜美然而默默无名的它却备受广大民众喜爱好家伙一看就是老qq看点了 那咱们能做些什么呢当然是选择盘它啊今天咱们就看看京东上粽子的行情。 ●爬取京东数据 发起请求-获取响应内容-解析内容-保存内容还是熟悉的老四步曲。 1. 发起请求获取响应内容 浏览器打开京东https://www.jd.com搜索“粽子”点击下一页 可以看到url的构造是https://search.jd.com/Search?keyword%E7%B2%BD%E5%AD%90qrst1stock1page3s53click0提取主要的参数keyword搜索词和page页码那么主要的url为https://search.jd.com/Search?keyword%E7%B2%BD%E5%AD%90page3keyword是粽子固定的变化的参数是page我们先请求下 import requests url  https://search.jd.com/Search?keyword%E7%B2%BD%E5%AD%90page3headers  {Host: search.jd.com,           User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0,            Accept-Language: zh-CN,zh;q0.8,zh-TW;q0.7,zh-HK;q0.5,en-US;q0.3,en;q0.2}r  requests.request(GET,urlurl,headersheaders)print(r.text) 2.解析数据 解析数据当然要用到最强大也是最方便的BeautifulSoup了先看我们需要采集的数据在哪 咱们来采集主要的四个数据图片价格描述店铺名称打开调试器分析页面构造 我们可以看到商品的数据在一个id为J_goodsList的div里内层的每一个li标签包含了一个商品的全部信息然后我们就可以开始解析了 from bs4 import BeautifulSoupimport requests url https://search.jd.com/Search?keyword%E7%B2%BD%E5%AD%90page str(page)headers  {Host: search.jd.com,           User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0,           Accept-Language: zh-CN,zh;q0.8,zh-TW;q0.7,zh-HK;q0.5,en-US;q0.3,en;q0.2}r  requests.request(GET,urlurl,headersheaders)div BeautifulSoup(r.text,lxml).find_all(div,idJ_goodsList)[0] # 拿到主要divitems BeautifulSoup(str(div),lxml).find_all(li,class_gl-item) # 商品列表print(items)print(len(items)) 打印一下发现只采集到了30个li标签然而通过网页我们可以发现每页是有60个商品的也就是说这只拿到了前30个数据可以猜想京东是通过ajax加载数据的打开调试器查看网络鼠标往下滑 可以看到出现了后边30条数据的请求分析链接构造page参数为偶数之前的30条数据page参数为奇数也就是第一页的数据就是page为1和2的数据商品总共是100页也就是page从1-200链接搞定我们继续解析详细数据 items BeautifulSoup(str(div),lxml).find_all(li,class_gl-itemresult []for item in items:    desc  BeautifulSoup(str(item), lxml).find(div, class_p-name p-name-type-2).find_all(a)[0].text.replace(\n,) # 去除换行符    img  BeautifulSoup(str(item), lxml).find(div, class_p-img).find_all(img)[0].get(src)    shop  BeautifulSoup(str(item), lxml).find(div, class_p-shop).find_all(a)[0].text    price  BeautifulSoup(str(item),lxml).find_all(div,class_p-price)[0].text.replace(\n,).split()[1]  # 去除换行符和格式数据result.append([shop,img,price,desc]) 完整获取数据 result  [] for page in range(1, 201):     print(正在采集第  str(page)  页)       url  https://search.jd.com/Search?keyword%E7%B2%BD%E5%AD%90page  str(page) headers {Host: search.jd.com, User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0, Accept-Language: zh-CN,zh;q0.8,zh-TW;q0.7,zh-HK;q0.5,en-US;q0.3,en;q0.2} r requests.request(GET,urlurl,headersheaders) print(r.text) try: div BeautifulSoup(r.text,lxml).find_all(div,idJ_goodsList)[0] items BeautifulSoup(str(div),lxml).find_all(li,class_gl-item) for item in items: try: desc BeautifulSoup(str(item), lxml).find(div, class_p-name p-name-type-2).find_all(a)[0].text.replace(\n,) except Exception as e: desc 无 try: img BeautifulSoup(str(item), lxml).find(div, class_p-img).find_all(img)[0].get(src) except Exception as e: img 无 try: shop BeautifulSoup(str(item), lxml).find(div, class_p-shop).find_all(a)[0].text except Exception as e: shop 无 try: price BeautifulSoup(str(item),lxml).find_all(div,class_p-price)[0].text.replace(\n,).split()[1] except Exception as e: price 无 result.append([shop,img,price,desc]) except Exception as e: pass 3.保存数据 import xlwt workExcel xlwt.Workbook(encodingutf-8)workSheet  workExcel.add_sheet(data)workSheet.write(0, 0, 店铺)workSheet.write(0, 1, 图片)workSheet.write(0, 2, 价格)workSheet.write(0, 3, 描述)i  0for data in result:    i  1    workSheet.write(i, 0, data[0])    workSheet.write(i, 1, data[1])    workSheet.write(i, 2, data[2])    workSheet.write(i, 3, data[3])workExcel.save(rC:\Users\Administrator\Desktop\data.xls) ●分析数据 先看下粽子价格的top5 import pandas as pd wb pd.read_excel(data.xls, sheet_namedata)wb  pd.DataFrame(wb.rename(columns  {u店铺:shop,u价格:price,u描述:desc}))df  wb[[shop, desc, price]]df1 df.sort_values(byprice, axis0, ascendingFalse)print(df1.iloc[:5, :]) 好家伙2265.5元看来是吃不起了......还是去买小区门口5块钱3个的吧 再来参照淘宝的价格区间给粽子价格划分下 贫民窟小于22元的底层人民专属 平民区大于22元小于115元的 小康家庭大于115元小于633元的 富人区大于633元的 wb pd.read_excel(data.xls, sheet_namedata)wb  pd.DataFrame(wb.rename(columns  {u店铺:shop,u价格:price,u描述:desc}))df  wb[[shop, desc, price]]# 统计出现次数方便绘图primary  df.query(price  22).shop.count()intermediate  df.query(price  22 and price  115).shop.count()senior  df.query(price  115 and price  633).shop.count()rich  df.query(price  633).shop.count()print(primary, intermediate, senior, rich) 绘制饼图 # 显示中文问题plt.rcParams[font.sans-serif]  [SimHei]label_list  [22元以下, 22-115元, 115-633元, 633元以上]size  [primary, intermediate, senior, rich]# 各部分颜色color  [red, green, blue, yellow]# 各部分突出值explode  [0, 0, 0, 0.1]patches, l_text, p_text  plt.pie(size, explodeexplode, colorscolor, labelslabel_list, labeldistance1.1, autopct%1.1f%%, shadowFalse, startangle90, pctdistance0.6)# 设置横轴和纵轴大小相等这样饼才是圆的plt.axis(equal)plt.legend(locupper left)plt.show() 看来平民还是占多数的嘛
http://www.pierceye.com/news/336084/

相关文章:

  • 国外英语写作网站网站后台 刷新
  • 如何制作自己的网站详情页设计
  • 南京免费自助建站模板wordpress 增加侧边栏
  • 做信息分类网站难吗广告设计公司有哪些
  • 做seo网站优化多少钱网站开发客户哪里找
  • 做网站一定要云解析吗海南公司注册网站
  • 建站之家官网办公装修设计
  • 永康网站建设的公司wordpress 图片分类
  • 网站商务通弹出窗口图片更换设置wordpress4.9 多站点
  • 如何仿制一个网站注册商标设计
  • 网站建设属于什么岗位旅游网站设计模板
  • 自己做的网站怎么链接火车头采集软件开发模型是什么
  • 新网站怎么做才会被收录正品海外购网站有哪些
  • 广东手机网站建设品牌js制作网页计算器
  • 化隆网站建设公司学做网站多久
  • 网站域名如何查询上海室内设计公司哪家好
  • 电子书推送网站怎么做新做的网站如何
  • 网站建设图片怎么加水印电商平台网站建设功能介绍
  • 一个门户网站怎么做金坛网站建设哪家好
  • 大学网站建设图江苏廉政建设网站
  • 班级网站建设方案网页美工的设计要点
  • 微网站搭建流程做网站的广告语
  • 那个网站做外贸canvas做的网站
  • 学做视频的网站wordpress上传大附件
  • 怎么做网站卖产品黄埭网站建设
  • 娱乐网站 建站软件学校网站建设栏目
  • 做调研有哪些网站网站建设策划书
  • 旺道网站排名优化建设网站需要做的工作
  • 设计公司网站 唐山本地备份wordpress
  • 淘宝客网站建设多少钱app网站开发案例