【爬虫实战】——利用bs4和sqlalchemy操作mysql数据库,实现网站多行数据表 ...

  金牌会员 | 2024-8-28 17:33:31 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 868|帖子 868|积分 2604

前言

此篇接上一篇的内容,在其基础上爬取网站的多行表格数据,以及把数据写入到mysql数据库中

目录


  • 一、定位表格查找元素
  • 二、提取数据
  • 三、写入mysql数据库
  • 四、附录
一、定位表格查找元素

首先打开网站,如图必要爬取多行数据的表格,利用查找元素定位,看图中分析得知我要爬取的是tr下的td数据,所以先查找到tr行
  1.     def script(self):
  2.         # 先定位查找到tr行元素
  3.         trs = self.soup().select('.content>table>tbody>tr')
  4.         print(trs)
复制代码
【查看运行结果:点击查看代码】
  1. [<tr><td align="center" colspan="8">2024年8月27日天津热轧板卷价格今日报价表(新)_最新价格行情走势</td></tr>, <tr><td>品名</td><td>规格(mm)</td><td>材质</td><td>产地</td><td>价格(元/吨)</td><td>涨跌</td><td>备注</td></tr>, <tr><td>热轧板卷</td><td>2.0*1250*C</td><td>Q235B</td><td>河钢承钢</td><td>3320</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>2.5*1250*C</td><td>Q235B</td><td>河钢唐钢</td><td>3270</td><td>涨10</td><td> </td></tr>, <tr><td>热轧板卷</td><td>2.5*1250*C</td><td>Q235B</td><td>通钢</td><td>3260</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>2.5*1250*C</td><td>Q235B</td><td>河钢承钢</td><td>3270</td><td>涨10</td><td> </td></tr>, <tr><td>热轧板卷</td><td>2.75*1250*C</td><td>Q235B</td><td>河钢承钢</td><td>3210</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>2.75*1500*C</td><td>Q235B</td><td>包钢</td><td>3210</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>2.75*1500*C</td><td>Q235B</td><td>河钢承钢</td><td>3210</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>2.75*1500*C</td><td>Q235B</td><td>河钢唐钢</td><td>3210</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>2.75*1500*C</td><td>Q235B</td><td>通钢</td><td>3200</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>3.0*1500*C</td><td>Q235B</td><td>包钢</td><td>3190</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>3.0*1500*C</td><td>Q235B</td><td>河钢承钢</td><td>3190</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>3.0*1500*C</td><td>Q235B</td><td>河钢唐钢</td><td>3190</td><td>涨10</td><td> </td></tr>, <tr><td>热轧板卷</td><td>3.0*1500*C</td><td>Q235B</td><td>通钢</td><td>3180</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>3.5*1500*C</td><td>Q235B</td><td>包钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>3.5*1500*C</td><td>Q235B</td><td>河钢承钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>3.5*1500*C</td><td>Q235B</td><td>河钢唐钢</td><td>3160</td><td>涨10</td><td> </td></tr>, <tr><td>热轧板卷</td><td>3.5*1500*C</td><td>Q235B</td><td>本钢</td><td>3150</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>3.5*1500*C</td><td>Q235B</td><td>沧州中铁</td><td>3170</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>3.75*1500*C</td><td>Q235B</td><td>包钢</td><td>3160</td><td>涨10</td><td> </td></tr>, <tr><td>热轧板卷</td><td>3.75*1500*C</td><td>Q235B</td><td>河钢承钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>3.75*1500*C</td><td>Q235B</td><td>河钢唐钢</td><td>3160</td><td>涨10</td><td> </td></tr>, <tr><td>热轧板卷</td><td>3.75*1500*C</td><td>Q235B</td><td>本钢</td><td>3150</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>3.75*1500*C</td><td>Q235B</td><td>沧州中铁</td><td>3150</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>4.5*1500*C</td><td>Q235B</td><td>包钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>4.5*1500*C</td><td>Q235B</td><td>河钢承钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>4.5*1500*C</td><td>Q235B</td><td>河钢唐钢</td><td>3160</td><td>涨10</td><td> </td></tr>, <tr><td>热轧板卷</td><td>4.5*1500*C</td><td>Q235B</td><td>本钢</td><td>3150</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>4.5*1500*C</td><td>Q235B</td><td>沧州中铁</td><td>3150</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>4.75*1500*C</td><td>Q235B</td><td>首钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>4.75*1500*C</td><td>Q235B</td><td>包钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>4.75*1500*C</td><td>Q235B</td><td>河钢承钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>4.75*1500*C</td><td>Q235B</td><td>河钢唐钢</td><td>3160</td><td>涨10</td><td> </td></tr>, <tr><td>热轧板卷</td><td>4.75*1500*C</td><td>Q235B</td><td>本钢</td><td>3150</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>4.75*1500*C</td><td>Q235B</td><td>沧州中铁</td><td>3150</td><td>涨10</td><td> </td></tr>, <tr><td>热轧板卷</td><td>5.5*1500*C</td><td>Q235B</td><td>包钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>5.5*1500*C</td><td>Q235B</td><td>河钢承钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>5.5*1500*C</td><td>Q235B</td><td>河钢唐钢</td><td>3160</td><td>涨10</td><td> </td></tr>, <tr><td>热轧板卷</td><td>5.5*1500*C</td><td>Q235B</td><td>首钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>5.5*1500*C</td><td>Q235B</td><td>本钢</td><td>3150</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>5.5*1500*C</td><td>Q235B</td><td>沧州中铁</td><td>3150</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>5.75*1500*C</td><td>Q235B</td><td>包钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>5.75*1500*C</td><td>Q235B</td><td>河钢承钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>5.75*1500*C</td><td>Q235B</td><td>河钢唐钢</td><td>3160</td><td>涨10</td><td> </td></tr>, <tr><td>热轧板卷</td><td>5.75*1500*C</td><td>Q235B</td><td>首钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>5.75*1500*C</td><td>Q235B</td><td>本钢</td><td>3150</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>5.75*1500*C</td><td>Q235B</td><td>沧州中铁</td><td>3150</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>7.5-11.75*1500*C</td><td>Q235B</td><td>包钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>7.5-11.75*1500*C</td><td>Q235B</td><td>河钢承钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>7.5-11.75*1500*C</td><td>Q235B</td><td>河钢唐钢</td><td>3160</td><td>涨10</td><td> </td></tr>, <tr><td>热轧板卷</td><td>7.5-11.75*1500*C</td><td>Q235B</td><td>首钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>7.5-11.75*1500*C</td><td>Q235B</td><td>本钢</td><td>3150</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>7.5-11.75*1500*C</td><td>Q235B</td><td>沧州中铁</td><td>3150</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>13.5*1500*C</td><td>Q235B</td><td>包钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>13.5*1500*C</td><td>Q235B</td><td>河钢承钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>13.5*1500*C</td><td>Q235B</td><td>河钢唐钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>13.5*1500*C</td><td>Q235B</td><td>首钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>13.5*1500*C</td><td>Q235B</td><td>本钢</td><td>3150</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>13.5*1500*C</td><td>Q235B</td><td>沧州中铁</td><td>3150</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>13.75*1500*C</td><td>Q235B</td><td>包钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>13.75*1500*C</td><td>Q235B</td><td>河钢承钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>13.75*1500*C</td><td>Q235B</td><td>河钢唐钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>13.75*1500*C</td><td>Q235B</td><td>首钢</td><td>3160</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>13.75*1500*C</td><td>Q235B</td><td>本钢</td><td>3150</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>13.75*1500*C</td><td>Q235B</td><td>沧州中铁</td><td>3150</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>5.75*1800*C</td><td>Q235B</td><td>包钢</td><td>3290</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>13.5*1800*C</td><td>Q235B</td><td>包钢</td><td>3290</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>13.75*1800*C</td><td>Q235B</td><td>包钢</td><td>3300</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>5.75*2000*C</td><td>Q235B</td><td>包钢</td><td>3310</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>7.75*2000*C</td><td>Q235B</td><td>包钢</td><td>3310</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>13.5*2000*C</td><td>Q235B</td><td>包钢</td><td>3310</td><td>涨10</td><td></td></tr>, <tr><td>热轧板卷</td><td>13.75*2000*C</td><td>Q235B</td><td>包钢</td><td>3310</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>4.75*1500*C</td><td>Q355B</td><td>包钢</td><td>3340</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>4.75*1500*C</td><td>Q355B</td><td>河钢承钢</td><td>3340</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>4.75*1500*C</td><td>Q355B</td><td>河钢唐钢</td><td>3340</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>4.75*1500*C</td><td>Q355B</td><td>通钢</td><td>3330</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>4.75*1500*C</td><td>Q355B</td><td>本钢</td><td>3330</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>5.5*1500*C</td><td>Q355B</td><td>包钢</td><td>3340</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>5.5*1500*C</td><td>Q355B</td><td>河钢承钢</td><td>3340</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>5.5*1500*C</td><td>Q355B</td><td>河钢唐钢</td><td>3340</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>5.5*1500*C</td><td>Q355B</td><td>通钢</td><td>3330</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>5.5*1500*C</td><td>Q355B</td><td>本钢</td><td>3330</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>5.75*1500*C</td><td>Q355B</td><td>包钢</td><td>3340</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>5.75*1500*C</td><td>Q355B</td><td>河钢承钢</td><td>3340</td><td>涨10</td><td> </td></tr>, <tr><td>低合金板卷</td><td>5.75*1500*C</td><td>Q355B</td><td>河钢唐钢</td><td>3340</td><td>涨10</td><td> </td></tr>, <tr><td>低合金板卷</td><td>5.75*1500*C</td><td>Q355B</td><td>通钢</td><td>3330</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>5.75*1500*C</td><td>Q355B</td><td>本钢</td><td>3330</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>9.75*1500*C</td><td>Q355B</td><td>包钢</td><td>3340</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>9.75*1500*C</td><td>Q355B</td><td>河钢承钢</td><td>3340</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>9.75*1500*C</td><td>Q355B</td><td>河钢唐钢</td><td>3340</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>9.75*1500*C</td><td>Q355B</td><td>通钢</td><td>3330</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>9.75*1500*C</td><td>Q355B</td><td>本钢</td><td>3330</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>11.75*1500*C</td><td>Q355B</td><td>包钢</td><td>3340</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>11.75*1500*C</td><td>Q355B</td><td>河钢承钢</td><td>3340</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>11.75*1500*C</td><td>Q355B</td><td>河钢唐钢</td><td>3340</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>11.75*1500*C</td><td>Q355B</td><td>通钢</td><td>3330</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>11.75*1500*C</td><td>Q355B</td><td>本钢</td><td>3330</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>13.75*1500*C</td><td>Q355B</td><td>包钢</td><td>3340</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>13.75*1500*C</td><td>Q355B</td><td>河钢承钢</td><td>3340</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>13.75*1500*C</td><td>Q355B</td><td>河钢唐钢</td><td>3340</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>13.75*1500*C</td><td>Q355B</td><td>通钢</td><td>3330</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>13.75*1500*C</td><td>Q355B</td><td>本钢</td><td>3330</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>7.75*1800*C</td><td>Q355B</td><td>包钢</td><td>3520</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>9.75*1800*C</td><td>Q355B</td><td>包钢</td><td>3520</td><td>涨10</td><td> </td></tr>, <tr><td>低合金板卷</td><td>13.5*1800*C</td><td>Q355B</td><td>包钢</td><td>3520</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>13.75*1800*C</td><td>Q355B</td><td>包钢</td><td>3520</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>7.75*2000*C</td><td>Q355B</td><td>包钢</td><td>3530</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>9.75*2000*C</td><td>Q355B</td><td>包钢</td><td>3530</td><td>涨10</td><td> </td></tr>, <tr><td>低合金板卷</td><td>13.5*2000*C</td><td>Q355B</td><td>包钢</td><td>3530</td><td>涨10</td><td></td></tr>, <tr><td>低合金板卷</td><td>13.75*2000*C</td><td>Q355B</td><td>包钢</td><td>3530</td><td>涨10</td><td></td></tr>]
复制代码
二、提取数据

我们可以看到爬取出每行的tr和tr下面的td数据,接下来利用for循环把tr每行的文字提取出来,但是前两行是我不必要的,我只要第三行之后的数据

代码如下:
  1.     def __init__(self):
  2.         # self.url = "https://www.cnblogs.com/Owen-ET/p/14523426.html"
  3.         self.url = "http://www.gtgqw.com/j/showhz2136672.html"
  4.         # url = "http://www.example.com"
  5.         self.dic = {
  6.             "报价": []
  7.         }
  8.     def script(self):
  9.         trs = self.soup().select('.content>table>tbody>tr')
  10.         print(trs)
  11.         print("=========================此处代码↓========================================")
  12.         for tr in trs:
  13.             if (tr != trs[0])&(tr != trs[1]):
  14.                 movie = {}
  15.                 infos = list(tr.stripped_strings)
  16.                 print(infos)    # 输出结果①:把td里面的值遍历出来组成数组
  17.                 movie['pin_name'] = infos[0]
  18.                 movie['guige'] = infos[1]
  19.                 movie['caizhi'] = infos[2]
  20.                 movie['chandi'] = infos[3]
  21.                 movie['jiage'] = infos[4]
  22.                 movie['zhangdie'] = infos[5]
  23.                 #
  24.                 self.dic["报价"].append(movie)
  25.         print("========================此处代码↑=========================================")
  26.         return self.dic    # 输出结果②:把每行td数组里的元素赋上键名,组成键值对
复制代码
【输出结果①:点击查看代码】
  1. ['热轧板卷', '2.0*1250*C', 'Q235B', '河钢承钢', '3320', '涨10']
  2. ['热轧板卷', '2.5*1250*C', 'Q235B', '河钢唐钢', '3270', '涨10']
  3. ['热轧板卷', '2.5*1250*C', 'Q235B', '通钢', '3260', '涨10']
  4. ['热轧板卷', '2.5*1250*C', 'Q235B', '河钢承钢', '3270', '涨10']
  5. ['热轧板卷', '2.75*1250*C', 'Q235B', '河钢承钢', '3210', '涨10']
  6. ['热轧板卷', '2.75*1500*C', 'Q235B', '包钢', '3210', '涨10']
  7. ['热轧板卷', '2.75*1500*C', 'Q235B', '河钢承钢', '3210', '涨10']
  8. ['热轧板卷', '2.75*1500*C', 'Q235B', '河钢唐钢', '3210', '涨10']
  9. ['热轧板卷', '2.75*1500*C', 'Q235B', '通钢', '3200', '涨10']
  10. ['热轧板卷', '3.0*1500*C', 'Q235B', '包钢', '3190', '涨10']
  11. ['热轧板卷', '3.0*1500*C', 'Q235B', '河钢承钢', '3190', '涨10']
  12. ['热轧板卷', '3.0*1500*C', 'Q235B', '河钢唐钢', '3190', '涨10']
  13. ['热轧板卷', '3.0*1500*C', 'Q235B', '通钢', '3180', '涨10']
  14. ['热轧板卷', '3.5*1500*C', 'Q235B', '包钢', '3160', '涨10']
  15. ['热轧板卷', '3.5*1500*C', 'Q235B', '河钢承钢', '3160', '涨10']
  16. ['热轧板卷', '3.5*1500*C', 'Q235B', '河钢唐钢', '3160', '涨10']
  17. ['热轧板卷', '3.5*1500*C', 'Q235B', '本钢', '3150', '涨10']
  18. ['热轧板卷', '3.5*1500*C', 'Q235B', '沧州中铁', '3170', '涨10']
  19. ['热轧板卷', '3.75*1500*C', 'Q235B', '包钢', '3160', '涨10']
  20. ['热轧板卷', '3.75*1500*C', 'Q235B', '河钢承钢', '3160', '涨10']
  21. ['热轧板卷', '3.75*1500*C', 'Q235B', '河钢唐钢', '3160', '涨10']
  22. ['热轧板卷', '3.75*1500*C', 'Q235B', '本钢', '3150', '涨10']
  23. ['热轧板卷', '3.75*1500*C', 'Q235B', '沧州中铁', '3150', '涨10']
  24. ['热轧板卷', '4.5*1500*C', 'Q235B', '包钢', '3160', '涨10']
  25. ['热轧板卷', '4.5*1500*C', 'Q235B', '河钢承钢', '3160', '涨10']
  26. ['热轧板卷', '4.5*1500*C', 'Q235B', '河钢唐钢', '3160', '涨10']
  27. ['热轧板卷', '4.5*1500*C', 'Q235B', '本钢', '3150', '涨10']
  28. ['热轧板卷', '4.5*1500*C', 'Q235B', '沧州中铁', '3150', '涨10']
  29. ['热轧板卷', '4.75*1500*C', 'Q235B', '首钢', '3160', '涨10']
  30. ['热轧板卷', '4.75*1500*C', 'Q235B', '包钢', '3160', '涨10']
  31. ['热轧板卷', '4.75*1500*C', 'Q235B', '河钢承钢', '3160', '涨10']
  32. ['热轧板卷', '4.75*1500*C', 'Q235B', '河钢唐钢', '3160', '涨10']
  33. ['热轧板卷', '4.75*1500*C', 'Q235B', '本钢', '3150', '涨10']
  34. ['热轧板卷', '4.75*1500*C', 'Q235B', '沧州中铁', '3150', '涨10']
  35. ['热轧板卷', '5.5*1500*C', 'Q235B', '包钢', '3160', '涨10']
  36. ['热轧板卷', '5.5*1500*C', 'Q235B', '河钢承钢', '3160', '涨10']
  37. ['热轧板卷', '5.5*1500*C', 'Q235B', '河钢唐钢', '3160', '涨10']
  38. ['热轧板卷', '5.5*1500*C', 'Q235B', '首钢', '3160', '涨10']
  39. ['热轧板卷', '5.5*1500*C', 'Q235B', '本钢', '3150', '涨10']
  40. ['热轧板卷', '5.5*1500*C', 'Q235B', '沧州中铁', '3150', '涨10']
  41. ['热轧板卷', '5.75*1500*C', 'Q235B', '包钢', '3160', '涨10']
  42. ['热轧板卷', '5.75*1500*C', 'Q235B', '河钢承钢', '3160', '涨10']
  43. ['热轧板卷', '5.75*1500*C', 'Q235B', '河钢唐钢', '3160', '涨10']
  44. ['热轧板卷', '5.75*1500*C', 'Q235B', '首钢', '3160', '涨10']
  45. ['热轧板卷', '5.75*1500*C', 'Q235B', '本钢', '3150', '涨10']
  46. ['热轧板卷', '5.75*1500*C', 'Q235B', '沧州中铁', '3150', '涨10']
  47. ['热轧板卷', '7.5-11.75*1500*C', 'Q235B', '包钢', '3160', '涨10']
  48. ['热轧板卷', '7.5-11.75*1500*C', 'Q235B', '河钢承钢', '3160', '涨10']
  49. ['热轧板卷', '7.5-11.75*1500*C', 'Q235B', '河钢唐钢', '3160', '涨10']
  50. ['热轧板卷', '7.5-11.75*1500*C', 'Q235B', '首钢', '3160', '涨10']
  51. ['热轧板卷', '7.5-11.75*1500*C', 'Q235B', '本钢', '3150', '涨10']
  52. ['热轧板卷', '7.5-11.75*1500*C', 'Q235B', '沧州中铁', '3150', '涨10']
  53. ['热轧板卷', '13.5*1500*C', 'Q235B', '包钢', '3160', '涨10']
  54. ['热轧板卷', '13.5*1500*C', 'Q235B', '河钢承钢', '3160', '涨10']
  55. ['热轧板卷', '13.5*1500*C', 'Q235B', '河钢唐钢', '3160', '涨10']
  56. ['热轧板卷', '13.5*1500*C', 'Q235B', '首钢', '3160', '涨10']
  57. ['热轧板卷', '13.5*1500*C', 'Q235B', '本钢', '3150', '涨10']
  58. ['热轧板卷', '13.5*1500*C', 'Q235B', '沧州中铁', '3150', '涨10']
  59. ['热轧板卷', '13.75*1500*C', 'Q235B', '包钢', '3160', '涨10']
  60. ['热轧板卷', '13.75*1500*C', 'Q235B', '河钢承钢', '3160', '涨10']
  61. ['热轧板卷', '13.75*1500*C', 'Q235B', '河钢唐钢', '3160', '涨10']
  62. ['热轧板卷', '13.75*1500*C', 'Q235B', '首钢', '3160', '涨10']
  63. ['热轧板卷', '13.75*1500*C', 'Q235B', '本钢', '3150', '涨10']
  64. ['热轧板卷', '13.75*1500*C', 'Q235B', '沧州中铁', '3150', '涨10']
  65. ['热轧板卷', '5.75*1800*C', 'Q235B', '包钢', '3290', '涨10']
  66. ['热轧板卷', '13.5*1800*C', 'Q235B', '包钢', '3290', '涨10']
  67. ['热轧板卷', '13.75*1800*C', 'Q235B', '包钢', '3300', '涨10']
  68. ['热轧板卷', '5.75*2000*C', 'Q235B', '包钢', '3310', '涨10']
  69. ['热轧板卷', '7.75*2000*C', 'Q235B', '包钢', '3310', '涨10']
  70. ['热轧板卷', '13.5*2000*C', 'Q235B', '包钢', '3310', '涨10']
  71. ['热轧板卷', '13.75*2000*C', 'Q235B', '包钢', '3310', '涨10']
  72. ['低合金板卷', '4.75*1500*C', 'Q355B', '包钢', '3340', '涨10']
  73. ['低合金板卷', '4.75*1500*C', 'Q355B', '河钢承钢', '3340', '涨10']
  74. ['低合金板卷', '4.75*1500*C', 'Q355B', '河钢唐钢', '3340', '涨10']
  75. ['低合金板卷', '4.75*1500*C', 'Q355B', '通钢', '3330', '涨10']
  76. ['低合金板卷', '4.75*1500*C', 'Q355B', '本钢', '3330', '涨10']
  77. ['低合金板卷', '5.5*1500*C', 'Q355B', '包钢', '3340', '涨10']
  78. ['低合金板卷', '5.5*1500*C', 'Q355B', '河钢承钢', '3340', '涨10']
  79. ['低合金板卷', '5.5*1500*C', 'Q355B', '河钢唐钢', '3340', '涨10']
  80. ['低合金板卷', '5.5*1500*C', 'Q355B', '通钢', '3330', '涨10']
  81. ['低合金板卷', '5.5*1500*C', 'Q355B', '本钢', '3330', '涨10']
  82. ['低合金板卷', '5.75*1500*C', 'Q355B', '包钢', '3340', '涨10']
  83. ['低合金板卷', '5.75*1500*C', 'Q355B', '河钢承钢', '3340', '涨10']
  84. ['低合金板卷', '5.75*1500*C', 'Q355B', '河钢唐钢', '3340', '涨10']
  85. ['低合金板卷', '5.75*1500*C', 'Q355B', '通钢', '3330', '涨10']
  86. ['低合金板卷', '5.75*1500*C', 'Q355B', '本钢', '3330', '涨10']
  87. ['低合金板卷', '9.75*1500*C', 'Q355B', '包钢', '3340', '涨10']
  88. ['低合金板卷', '9.75*1500*C', 'Q355B', '河钢承钢', '3340', '涨10']
  89. ['低合金板卷', '9.75*1500*C', 'Q355B', '河钢唐钢', '3340', '涨10']
  90. ['低合金板卷', '9.75*1500*C', 'Q355B', '通钢', '3330', '涨10']
  91. ['低合金板卷', '9.75*1500*C', 'Q355B', '本钢', '3330', '涨10']
  92. ['低合金板卷', '11.75*1500*C', 'Q355B', '包钢', '3340', '涨10']
  93. ['低合金板卷', '11.75*1500*C', 'Q355B', '河钢承钢', '3340', '涨10']
  94. ['低合金板卷', '11.75*1500*C', 'Q355B', '河钢唐钢', '3340', '涨10']
  95. ['低合金板卷', '11.75*1500*C', 'Q355B', '通钢', '3330', '涨10']
  96. ['低合金板卷', '11.75*1500*C', 'Q355B', '本钢', '3330', '涨10']
  97. ['低合金板卷', '13.75*1500*C', 'Q355B', '包钢', '3340', '涨10']
  98. ['低合金板卷', '13.75*1500*C', 'Q355B', '河钢承钢', '3340', '涨10']
  99. ['低合金板卷', '13.75*1500*C', 'Q355B', '河钢唐钢', '3340', '涨10']
  100. ['低合金板卷', '13.75*1500*C', 'Q355B', '通钢', '3330', '涨10']
  101. ['低合金板卷', '13.75*1500*C', 'Q355B', '本钢', '3330', '涨10']
  102. ['低合金板卷', '7.75*1800*C', 'Q355B', '包钢', '3520', '涨10']
  103. ['低合金板卷', '9.75*1800*C', 'Q355B', '包钢', '3520', '涨10']
  104. ['低合金板卷', '13.5*1800*C', 'Q355B', '包钢', '3520', '涨10']
  105. ['低合金板卷', '13.75*1800*C', 'Q355B', '包钢', '3520', '涨10']
  106. ['低合金板卷', '7.75*2000*C', 'Q355B', '包钢', '3530', '涨10']
  107. ['低合金板卷', '9.75*2000*C', 'Q355B', '包钢', '3530', '涨10']
  108. ['低合金板卷', '13.5*2000*C', 'Q355B', '包钢', '3530', '涨10']
  109. ['低合金板卷', '13.75*2000*C', 'Q355B', '包钢', '3530', '涨10']
复制代码
【输出结果②:点击查看代码】
  1. {'报价': [{'pin_name': '热轧板卷', 'guige': '2.0*1250*C', 'caizhi': 'Q235B', 'chandi': '河钢承钢', 'jiage': '3320', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '2.5*1250*C', 'caizhi': 'Q235B', 'chandi': '河钢唐钢', 'jiage': '3270', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '2.5*1250*C', 'caizhi': 'Q235B', 'chandi': '通钢', 'jiage': '3260', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '2.5*1250*C', 'caizhi': 'Q235B', 'chandi': '河钢承钢', 'jiage': '3270', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '2.75*1250*C', 'caizhi': 'Q235B', 'chandi': '河钢承钢', 'jiage': '3210', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '2.75*1500*C', 'caizhi': 'Q235B', 'chandi': '包钢', 'jiage': '3210', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '2.75*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢承钢', 'jiage': '3210', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '2.75*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢唐钢', 'jiage': '3210', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '2.75*1500*C', 'caizhi': 'Q235B', 'chandi': '通钢', 'jiage': '3200', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '3.0*1500*C', 'caizhi': 'Q235B', 'chandi': '包钢', 'jiage': '3190', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '3.0*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢承钢', 'jiage': '3190', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '3.0*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢唐钢', 'jiage': '3190', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '3.0*1500*C', 'caizhi': 'Q235B', 'chandi': '通钢', 'jiage': '3180', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '3.5*1500*C', 'caizhi': 'Q235B', 'chandi': '包钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '3.5*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢承钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '3.5*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢唐钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '3.5*1500*C', 'caizhi': 'Q235B', 'chandi': '本钢', 'jiage': '3150', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '3.5*1500*C', 'caizhi': 'Q235B', 'chandi': '沧州中铁', 'jiage': '3170', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '3.75*1500*C', 'caizhi': 'Q235B', 'chandi': '包钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '3.75*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢承钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '3.75*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢唐钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '3.75*1500*C', 'caizhi': 'Q235B', 'chandi': '本钢', 'jiage': '3150', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '3.75*1500*C', 'caizhi': 'Q235B', 'chandi': '沧州中铁', 'jiage': '3150', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '4.5*1500*C', 'caizhi': 'Q235B', 'chandi': '包钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '4.5*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢承钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '4.5*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢唐钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '4.5*1500*C', 'caizhi': 'Q235B', 'chandi': '本钢', 'jiage': '3150', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '4.5*1500*C', 'caizhi': 'Q235B', 'chandi': '沧州中铁', 'jiage': '3150', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '4.75*1500*C', 'caizhi': 'Q235B', 'chandi': '首钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '4.75*1500*C', 'caizhi': 'Q235B', 'chandi': '包钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '4.75*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢承钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '4.75*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢唐钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '4.75*1500*C', 'caizhi': 'Q235B', 'chandi': '本钢', 'jiage': '3150', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '4.75*1500*C', 'caizhi': 'Q235B', 'chandi': '沧州中铁', 'jiage': '3150', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '5.5*1500*C', 'caizhi': 'Q235B', 'chandi': '包钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '5.5*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢承钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '5.5*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢唐钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '5.5*1500*C', 'caizhi': 'Q235B', 'chandi': '首钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '5.5*1500*C', 'caizhi': 'Q235B', 'chandi': '本钢', 'jiage': '3150', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '5.5*1500*C', 'caizhi': 'Q235B', 'chandi': '沧州中铁', 'jiage': '3150', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '5.75*1500*C', 'caizhi': 'Q235B', 'chandi': '包钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '5.75*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢承钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '5.75*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢唐钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '5.75*1500*C', 'caizhi': 'Q235B', 'chandi': '首钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '5.75*1500*C', 'caizhi': 'Q235B', 'chandi': '本钢', 'jiage': '3150', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '5.75*1500*C', 'caizhi': 'Q235B', 'chandi': '沧州中铁', 'jiage': '3150', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '7.5-11.75*1500*C', 'caizhi': 'Q235B', 'chandi': '包钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '7.5-11.75*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢承钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '7.5-11.75*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢唐钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '7.5-11.75*1500*C', 'caizhi': 'Q235B', 'chandi': '首钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '7.5-11.75*1500*C', 'caizhi': 'Q235B', 'chandi': '本钢', 'jiage': '3150', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '7.5-11.75*1500*C', 'caizhi': 'Q235B', 'chandi': '沧州中铁', 'jiage': '3150', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '13.5*1500*C', 'caizhi': 'Q235B', 'chandi': '包钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '13.5*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢承钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '13.5*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢唐钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '13.5*1500*C', 'caizhi': 'Q235B', 'chandi': '首钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '13.5*1500*C', 'caizhi': 'Q235B', 'chandi': '本钢', 'jiage': '3150', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '13.5*1500*C', 'caizhi': 'Q235B', 'chandi': '沧州中铁', 'jiage': '3150', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '13.75*1500*C', 'caizhi': 'Q235B', 'chandi': '包钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '13.75*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢承钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '13.75*1500*C', 'caizhi': 'Q235B', 'chandi': '河钢唐钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '13.75*1500*C', 'caizhi': 'Q235B', 'chandi': '首钢', 'jiage': '3160', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '13.75*1500*C', 'caizhi': 'Q235B', 'chandi': '本钢', 'jiage': '3150', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '13.75*1500*C', 'caizhi': 'Q235B', 'chandi': '沧州中铁', 'jiage': '3150', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '5.75*1800*C', 'caizhi': 'Q235B', 'chandi': '包钢', 'jiage': '3290', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '13.5*1800*C', 'caizhi': 'Q235B', 'chandi': '包钢', 'jiage': '3290', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '13.75*1800*C', 'caizhi': 'Q235B', 'chandi': '包钢', 'jiage': '3300', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '5.75*2000*C', 'caizhi': 'Q235B', 'chandi': '包钢', 'jiage': '3310', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '7.75*2000*C', 'caizhi': 'Q235B', 'chandi': '包钢', 'jiage': '3310', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '13.5*2000*C', 'caizhi': 'Q235B', 'chandi': '包钢', 'jiage': '3310', 'zhangdie': '涨10'}, {'pin_name': '热轧板卷', 'guige': '13.75*2000*C', 'caizhi': 'Q235B', 'chandi': '包钢', 'jiage': '3310', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '4.75*1500*C', 'caizhi': 'Q355B', 'chandi': '包钢', 'jiage': '3340', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '4.75*1500*C', 'caizhi': 'Q355B', 'chandi': '河钢承钢', 'jiage': '3340', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '4.75*1500*C', 'caizhi': 'Q355B', 'chandi': '河钢唐钢', 'jiage': '3340', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '4.75*1500*C', 'caizhi': 'Q355B', 'chandi': '通钢', 'jiage': '3330', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '4.75*1500*C', 'caizhi': 'Q355B', 'chandi': '本钢', 'jiage': '3330', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '5.5*1500*C', 'caizhi': 'Q355B', 'chandi': '包钢', 'jiage': '3340', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '5.5*1500*C', 'caizhi': 'Q355B', 'chandi': '河钢承钢', 'jiage': '3340', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '5.5*1500*C', 'caizhi': 'Q355B', 'chandi': '河钢唐钢', 'jiage': '3340', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '5.5*1500*C', 'caizhi': 'Q355B', 'chandi': '通钢', 'jiage': '3330', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '5.5*1500*C', 'caizhi': 'Q355B', 'chandi': '本钢', 'jiage': '3330', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '5.75*1500*C', 'caizhi': 'Q355B', 'chandi': '包钢', 'jiage': '3340', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '5.75*1500*C', 'caizhi': 'Q355B', 'chandi': '河钢承钢', 'jiage': '3340', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '5.75*1500*C', 'caizhi': 'Q355B', 'chandi': '河钢唐钢', 'jiage': '3340', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '5.75*1500*C', 'caizhi': 'Q355B', 'chandi': '通钢', 'jiage': '3330', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '5.75*1500*C', 'caizhi': 'Q355B', 'chandi': '本钢', 'jiage': '3330', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '9.75*1500*C', 'caizhi': 'Q355B', 'chandi': '包钢', 'jiage': '3340', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '9.75*1500*C', 'caizhi': 'Q355B', 'chandi': '河钢承钢', 'jiage': '3340', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '9.75*1500*C', 'caizhi': 'Q355B', 'chandi': '河钢唐钢', 'jiage': '3340', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '9.75*1500*C', 'caizhi': 'Q355B', 'chandi': '通钢', 'jiage': '3330', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '9.75*1500*C', 'caizhi': 'Q355B', 'chandi': '本钢', 'jiage': '3330', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '11.75*1500*C', 'caizhi': 'Q355B', 'chandi': '包钢', 'jiage': '3340', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '11.75*1500*C', 'caizhi': 'Q355B', 'chandi': '河钢承钢', 'jiage': '3340', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '11.75*1500*C', 'caizhi': 'Q355B', 'chandi': '河钢唐钢', 'jiage': '3340', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '11.75*1500*C', 'caizhi': 'Q355B', 'chandi': '通钢', 'jiage': '3330', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '11.75*1500*C', 'caizhi': 'Q355B', 'chandi': '本钢', 'jiage': '3330', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '13.75*1500*C', 'caizhi': 'Q355B', 'chandi': '包钢', 'jiage': '3340', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '13.75*1500*C', 'caizhi': 'Q355B', 'chandi': '河钢承钢', 'jiage': '3340', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '13.75*1500*C', 'caizhi': 'Q355B', 'chandi': '河钢唐钢', 'jiage': '3340', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '13.75*1500*C', 'caizhi': 'Q355B', 'chandi': '通钢', 'jiage': '3330', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '13.75*1500*C', 'caizhi': 'Q355B', 'chandi': '本钢', 'jiage': '3330', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '7.75*1800*C', 'caizhi': 'Q355B', 'chandi': '包钢', 'jiage': '3520', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '9.75*1800*C', 'caizhi': 'Q355B', 'chandi': '包钢', 'jiage': '3520', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '13.5*1800*C', 'caizhi': 'Q355B', 'chandi': '包钢', 'jiage': '3520', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '13.75*1800*C', 'caizhi': 'Q355B', 'chandi': '包钢', 'jiage': '3520', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '7.75*2000*C', 'caizhi': 'Q355B', 'chandi': '包钢', 'jiage': '3530', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '9.75*2000*C', 'caizhi': 'Q355B', 'chandi': '包钢', 'jiage': '3530', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '13.5*2000*C', 'caizhi': 'Q355B', 'chandi': '包钢', 'jiage': '3530', 'zhangdie': '涨10'}, {'pin_name': '低合金板卷', 'guige': '13.75*2000*C', 'caizhi': 'Q355B', 'chandi': '包钢', 'jiage': '3530', 'zhangdie': '涨10'}]}
复制代码
三、写入mysql数据库

把上一步提取到的数据,利用sqlalchemy操作写入mysql数据库中,首先条件
  1.     def mysql(self):
  2.         # 替换为你的数据库连接信息
  3.         DATABASE_URI = 'mysql+pymysql://root:1234567@localhost:3306/baojia'
  4.         # 创建数据库引擎
  5.         engine = create_engine(DATABASE_URI)
  6.         Session = sessionmaker(bind=engine)
  7.         session = Session()
  8.         # 定义JSON数据和表结构
  9.         json_data = self.script()['报价']
  10.         # 假设你有一个名为users的表
  11.         metadata = MetaData(bind=engine)
  12.         users_table = Table('banjuan', metadata, autoload_with=engine)
  13.         # 解析JSON数据并插入到数据库
  14.         for entry in json_data:
  15.             ins = users_table.insert().values(pin_name=entry['pin_name'],
  16.                                               guige=entry['guige'],
  17.                                               caizhi=entry['caizhi'],
  18.                                               chandi=entry['chandi'],
  19.                                               jiage=entry['jiage'],
  20.                                               zhangdie=entry['zhangdie'])
  21.             session.execute(ins)
  22.         # 提交更改
  23.         session.commit()
复制代码
配置数据库剖析:'mysql+pymysql://root:1234567@localhost:3306/baojia'
可以参考我的相干文章也有阐明:Owen_ET-《【测试平台开发】——05Flask后端api开发实战(二)—— SqlAlchemy》 *****
  1. 【mysql】:使用的mysql数据库
  2. 【pymysql】:使用pymysql的引擎
  3. 【://scott】:数据库用户名
  4. 【:tiger】:数据库密码
  5. 【@localhost】:数据库地址
  6. 【/foo】:数据库的库名称
复制代码
手动创建表结构:数据库名为【baojia】、表名为【banjuan】,以及各个字段值的范例、长度等

其中id设置为主动增加并且设置为键

【运行结果:查看数据库】

运行之后,mysql数据库的数据就插进来了
【完备代码】
  1. import reimport jsonimport requestsfrom bs4 import BeautifulSoup as bsfrom sqlalchemy.orm import sessionmakerfrom sqlalchemy import create_engine, Table, MetaDataclass BS:    def __init__(self):        # self.url = "https://www.cnblogs.com/Owen-ET/p/14523426.html"        self.url = "http://www.gtgqw.com/j/showhz2136672.html"        # url = "http://www.example.com"        self.dic = {            "报价": []        }    def soup(self):        res = requests.get(self.url)        soup = bs(res.text, 'html.parser')        return soup    def script(self):        trs = self.soup().select('.content>table>tbody>tr')        print(trs)        print("=================================================================")        print("=================================================================")        for tr in trs:            if (tr != trs[0])&(tr != trs[1]):                movie = {}                infos = list(tr.stripped_strings)                print(infos)                movie['pin_name'] = infos[0]                movie['guige'] = infos[1]                movie['caizhi'] = infos[2]                movie['chandi'] = infos[3]                movie['jiage'] = infos[4]                movie['zhangdie'] = infos[5]                self.dic["报价"].append(movie)        print("=================================================================")        print("=================================================================")        return self.dic    def data(self):        # 生成json文件        with open("报价.json", 'w', encoding='utf8') as f:            json.dump(self.script(), f, ensure_ascii=False, indent=4)    def mysql(self):
  2.         # 替换为你的数据库连接信息
  3.         DATABASE_URI = 'mysql+pymysql://root:1234567@localhost:3306/baojia'
  4.         # 创建数据库引擎
  5.         engine = create_engine(DATABASE_URI)
  6.         Session = sessionmaker(bind=engine)
  7.         session = Session()
  8.         # 定义JSON数据和表结构
  9.         json_data = self.script()['报价']
  10.         # 假设你有一个名为users的表
  11.         metadata = MetaData(bind=engine)
  12.         users_table = Table('banjuan', metadata, autoload_with=engine)
  13.         # 解析JSON数据并插入到数据库
  14.         for entry in json_data:
  15.             ins = users_table.insert().values(pin_name=entry['pin_name'],
  16.                                               guige=entry['guige'],
  17.                                               caizhi=entry['caizhi'],
  18.                                               chandi=entry['chandi'],
  19.                                               jiage=entry['jiage'],
  20.                                               zhangdie=entry['zhangdie'])
  21.             session.execute(ins)
  22.         # 提交更改
  23.         session.commit()if __name__ == '__main__':    print(BS().mysql())
复制代码
四、附录

参考其他的文章:
  1. from sqlalchemy import create_engine, Table, MetaData
  2. from sqlalchemy.orm import sessionmaker
  3. import json
  4. # 替换为你的数据库连接信息
  5. DATABASE_URI = 'mysql+pymysql://user:password@localhost:3306/database'
  6. # 创建数据库引擎
  7. engine = create_engine(DATABASE_URI)
  8. Session = sessionmaker(bind=engine)
  9. session = Session()
  10. # 定义JSON数据和表结构
  11. json_data = '[{"id": 1, "name": "Alice", "age": 30}, {"id": 2, "name": "Bob", "age": 25}]'
  12. # 假设你有一个名为users的表,有id, name, age字段
  13. metadata = MetaData(bind=engine)
  14. users_table = Table('users', metadata, autoload_with=engine)
  15. # 解析JSON数据并插入到数据库
  16. data = json.loads(json_data)
  17. for entry in data:
  18.     ins = users_table.insert().values(id=entry['id'], name=entry['name'], age=entry['age'])
  19.     session.execute(ins)
  20. # 提交更改
  21. session.commit()
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表