【爬虫实战】——利用bs4和sqlalchemy操作mysql数据库,实现网站多行数据表格爬取数据
前言
此篇接上一篇的内容,在其基础上爬取网站的多行表格数据,以及把数据写入到mysql数据库中
目录
- 一、定位表格查找元素
- 二、提取数据
- 三、写入mysql数据库
- 四、附录
一、定位表格查找元素
首先打开网站,如图需要爬取多行数据的表格,利用查找元素定位,看图中分析得知我要爬取的是tr下的td数据,所以先查找到tr行

def script(self):
# 先定位查找到tr行元素
trs = self.soup().select('.content>table>tbody>tr')
print(trs)
【查看运行结果:点击查看代码】
[<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每行的文字提取出来,但是前两行是我不需要的,我只要第三行之后的数据

代码如下:
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 script(self):
trs = self.soup().select('.content>table>tbody>tr')
print(trs)
print("=========================此处代码↓========================================")
for tr in trs:
if (tr != trs[0])&(tr != trs[1]):
movie = {}
infos = list(tr.stripped_strings)
print(infos) # 输出结果①:把td里面的值遍历出来组成数组
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("========================此处代码↑=========================================")
return self.dic # 输出结果②:把每行td数组里的元素赋上键名,组成键值对
【输出结果①:点击查看代码】
['热轧板卷', '2.0*1250*C', 'Q235B', '河钢承钢', '3320', '涨10']
['热轧板卷', '2.5*1250*C', 'Q235B', '河钢唐钢', '3270', '涨10']
['热轧板卷', '2.5*1250*C', 'Q235B', '通钢', '3260', '涨10']
['热轧板卷', '2.5*1250*C', 'Q235B', '河钢承钢', '3270', '涨10']
['热轧板卷', '2.75*1250*C', 'Q235B', '河钢承钢', '3210', '涨10']
['热轧板卷', '2.75*1500*C', 'Q235B', '包钢', '3210', '涨10']
['热轧板卷', '2.75*1500*C', 'Q235B', '河钢承钢', '3210', '涨10']
['热轧板卷', '2.75*1500*C', 'Q235B', '河钢唐钢', '3210', '涨10']
['热轧板卷', '2.75*1500*C', 'Q235B', '通钢', '3200', '涨10']
['热轧板卷', '3.0*1500*C', 'Q235B', '包钢', '3190', '涨10']
['热轧板卷', '3.0*1500*C', 'Q235B', '河钢承钢', '3190', '涨10']
['热轧板卷', '3.0*1500*C', 'Q235B', '河钢唐钢', '3190', '涨10']
['热轧板卷', '3.0*1500*C', 'Q235B', '通钢', '3180', '涨10']
['热轧板卷', '3.5*1500*C', 'Q235B', '包钢', '3160', '涨10']
['热轧板卷', '3.5*1500*C', 'Q235B', '河钢承钢', '3160', '涨10']
['热轧板卷', '3.5*1500*C', 'Q235B', '河钢唐钢', '3160', '涨10']
['热轧板卷', '3.5*1500*C', 'Q235B', '本钢', '3150', '涨10']
['热轧板卷', '3.5*1500*C', 'Q235B', '沧州中铁', '3170', '涨10']
['热轧板卷', '3.75*1500*C', 'Q235B', '包钢', '3160', '涨10']
['热轧板卷', '3.75*1500*C', 'Q235B', '河钢承钢', '3160', '涨10']
['热轧板卷', '3.75*1500*C', 'Q235B', '河钢唐钢', '3160', '涨10']
['热轧板卷', '3.75*1500*C', 'Q235B', '本钢', '3150', '涨10']
['热轧板卷', '3.75*1500*C', 'Q235B', '沧州中铁', '3150', '涨10']
['热轧板卷', '4.5*1500*C', 'Q235B', '包钢', '3160', '涨10']
['热轧板卷', '4.5*1500*C', 'Q235B', '河钢承钢', '3160', '涨10']
['热轧板卷', '4.5*1500*C', 'Q235B', '河钢唐钢', '3160', '涨10']
['热轧板卷', '4.5*1500*C', 'Q235B', '本钢', '3150', '涨10']
['热轧板卷', '4.5*1500*C', 'Q235B', '沧州中铁', '3150', '涨10']
['热轧板卷', '4.75*1500*C', 'Q235B', '首钢', '3160', '涨10']
['热轧板卷', '4.75*1500*C', 'Q235B', '包钢', '3160', '涨10']
['热轧板卷', '4.75*1500*C', 'Q235B', '河钢承钢', '3160', '涨10']
['热轧板卷', '4.75*1500*C', 'Q235B', '河钢唐钢', '3160', '涨10']
['热轧板卷', '4.75*1500*C', 'Q235B', '本钢', '3150', '涨10']
['热轧板卷', '4.75*1500*C', 'Q235B', '沧州中铁', '3150', '涨10']
['热轧板卷', '5.5*1500*C', 'Q235B', '包钢', '3160', '涨10']
['热轧板卷', '5.5*1500*C', 'Q235B', '河钢承钢', '3160', '涨10']
['热轧板卷', '5.5*1500*C', 'Q235B', '河钢唐钢', '3160', '涨10']
['热轧板卷', '5.5*1500*C', 'Q235B', '首钢', '3160', '涨10']
['热轧板卷', '5.5*1500*C', 'Q235B', '本钢', '3150', '涨10']
['热轧板卷', '5.5*1500*C', 'Q235B', '沧州中铁', '3150', '涨10']
['热轧板卷', '5.75*1500*C', 'Q235B', '包钢', '3160', '涨10']
['热轧板卷', '5.75*1500*C', 'Q235B', '河钢承钢', '3160', '涨10']
['热轧板卷', '5.75*1500*C', 'Q235B', '河钢唐钢', '3160', '涨10']
['热轧板卷', '5.75*1500*C', 'Q235B', '首钢', '3160', '涨10']
['热轧板卷', '5.75*1500*C', 'Q235B', '本钢', '3150', '涨10']
['热轧板卷', '5.75*1500*C', 'Q235B', '沧州中铁', '3150', '涨10']
['热轧板卷', '7.5-11.75*1500*C', 'Q235B', '包钢', '3160', '涨10']
['热轧板卷', '7.5-11.75*1500*C', 'Q235B', '河钢承钢', '3160', '涨10']
['热轧板卷', '7.5-11.75*1500*C', 'Q235B', '河钢唐钢', '3160', '涨10']
['热轧板卷', '7.5-11.75*1500*C', 'Q235B', '首钢', '3160', '涨10']
['热轧板卷', '7.5-11.75*1500*C', 'Q235B', '本钢', '3150', '涨10']
['热轧板卷', '7.5-11.75*1500*C', 'Q235B', '沧州中铁', '3150', '涨10']
['热轧板卷', '13.5*1500*C', 'Q235B', '包钢', '3160', '涨10']
['热轧板卷', '13.5*1500*C', 'Q235B', '河钢承钢', '3160', '涨10']
['热轧板卷', '13.5*1500*C', 'Q235B', '河钢唐钢', '3160', '涨10']
['热轧板卷', '13.5*1500*C', 'Q235B', '首钢', '3160', '涨10']
['热轧板卷', '13.5*1500*C', 'Q235B', '本钢', '3150', '涨10']
['热轧板卷', '13.5*1500*C', 'Q235B', '沧州中铁', '3150', '涨10']
['热轧板卷', '13.75*1500*C', 'Q235B', '包钢', '3160', '涨10']
['热轧板卷', '13.75*1500*C', 'Q235B', '河钢承钢', '3160', '涨10']
['热轧板卷', '13.75*1500*C', 'Q235B', '河钢唐钢', '3160', '涨10']
['热轧板卷', '13.75*1500*C', 'Q235B', '首钢', '3160', '涨10']
['热轧板卷', '13.75*1500*C', 'Q235B', '本钢', '3150', '涨10']
['热轧板卷', '13.75*1500*C', 'Q235B', '沧州中铁', '3150', '涨10']
['热轧板卷', '5.75*1800*C', 'Q235B', '包钢', '3290', '涨10']
['热轧板卷', '13.5*1800*C', 'Q235B', '包钢', '3290', '涨10']
['热轧板卷', '13.75*1800*C', 'Q235B', '包钢', '3300', '涨10']
['热轧板卷', '5.75*2000*C', 'Q235B', '包钢', '3310', '涨10']
['热轧板卷', '7.75*2000*C', 'Q235B', '包钢', '3310', '涨10']
['热轧板卷', '13.5*2000*C', 'Q235B', '包钢', '3310', '涨10']
['热轧板卷', '13.75*2000*C', 'Q235B', '包钢', '3310', '涨10']
['低合金板卷', '4.75*1500*C', 'Q355B', '包钢', '3340', '涨10']
['低合金板卷', '4.75*1500*C', 'Q355B', '河钢承钢', '3340', '涨10']
['低合金板卷', '4.75*1500*C', 'Q355B', '河钢唐钢', '3340', '涨10']
['低合金板卷', '4.75*1500*C', 'Q355B', '通钢', '3330', '涨10']
['低合金板卷', '4.75*1500*C', 'Q355B', '本钢', '3330', '涨10']
['低合金板卷', '5.5*1500*C', 'Q355B', '包钢', '3340', '涨10']
['低合金板卷', '5.5*1500*C', 'Q355B', '河钢承钢', '3340', '涨10']
['低合金板卷', '5.5*1500*C', 'Q355B', '河钢唐钢', '3340', '涨10']
['低合金板卷', '5.5*1500*C', 'Q355B', '通钢', '3330', '涨10']
['低合金板卷', '5.5*1500*C', 'Q355B', '本钢', '3330', '涨10']
['低合金板卷', '5.75*1500*C', 'Q355B', '包钢', '3340', '涨10']
['低合金板卷', '5.75*1500*C', 'Q355B', '河钢承钢', '3340', '涨10']
['低合金板卷', '5.75*1500*C', 'Q355B', '河钢唐钢', '3340', '涨10']
['低合金板卷', '5.75*1500*C', 'Q355B', '通钢', '3330', '涨10']
['低合金板卷', '5.75*1500*C', 'Q355B', '本钢', '3330', '涨10']
['低合金板卷', '9.75*1500*C', 'Q355B', '包钢', '3340', '涨10']
['低合金板卷', '9.75*1500*C', 'Q355B', '河钢承钢', '3340', '涨10']
['低合金板卷', '9.75*1500*C', 'Q355B', '河钢唐钢', '3340', '涨10']
['低合金板卷', '9.75*1500*C', 'Q355B', '通钢', '3330', '涨10']
['低合金板卷', '9.75*1500*C', 'Q355B', '本钢', '3330', '涨10']
['低合金板卷', '11.75*1500*C', 'Q355B', '包钢', '3340', '涨10']
['低合金板卷', '11.75*1500*C', 'Q355B', '河钢承钢', '3340', '涨10']
['低合金板卷', '11.75*1500*C', 'Q355B', '河钢唐钢', '3340', '涨10']
['低合金板卷', '11.75*1500*C', 'Q355B', '通钢', '3330', '涨10']
['低合金板卷', '11.75*1500*C', 'Q355B', '本钢', '3330', '涨10']
['低合金板卷', '13.75*1500*C', 'Q355B', '包钢', '3340', '涨10']
['低合金板卷', '13.75*1500*C', 'Q355B', '河钢承钢', '3340', '涨10']
['低合金板卷', '13.75*1500*C', 'Q355B', '河钢唐钢', '3340', '涨10']
['低合金板卷', '13.75*1500*C', 'Q355B', '通钢', '3330', '涨10']
['低合金板卷', '13.75*1500*C', 'Q355B', '本钢', '3330', '涨10']
['低合金板卷', '7.75*1800*C', 'Q355B', '包钢', '3520', '涨10']
['低合金板卷', '9.75*1800*C', 'Q355B', '包钢', '3520', '涨10']
['低合金板卷', '13.5*1800*C', 'Q355B', '包钢', '3520', '涨10']
['低合金板卷', '13.75*1800*C', 'Q355B', '包钢', '3520', '涨10']
['低合金板卷', '7.75*2000*C', 'Q355B', '包钢', '3530', '涨10']
['低合金板卷', '9.75*2000*C', 'Q355B', '包钢', '3530', '涨10']
['低合金板卷', '13.5*2000*C', 'Q355B', '包钢', '3530', '涨10']
['低合金板卷', '13.75*2000*C', 'Q355B', '包钢', '3530', '涨10']
【输出结果②:点击查看代码】
{'报价': [{'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数据库中,首先前提
def mysql(self):
# 替换为你的数据库连接信息
DATABASE_URI = 'mysql+pymysql://root:1234567@localhost:3306/baojia'
# 创建数据库引擎
engine = create_engine(DATABASE_URI)
Session = sessionmaker(bind=engine)
session = Session()
# 定义JSON数据和表结构
json_data = self.script()['报价']
# 假设你有一个名为users的表
metadata = MetaData(bind=engine)
users_table = Table('banjuan', metadata, autoload_with=engine)
# 解析JSON数据并插入到数据库
for entry in json_data:
ins = users_table.insert().values(pin_name=entry['pin_name'],
guige=entry['guige'],
caizhi=entry['caizhi'],
chandi=entry['chandi'],
jiage=entry['jiage'],
zhangdie=entry['zhangdie'])
session.execute(ins)
# 提交更改
session.commit()
配置数据库解析:'mysql+pymysql://root:1234567@localhost:3306/baojia'
可以参考我的相关文章也有说明:Owen_ET-《【测试平台开发】——05Flask后端api开发实战(二)—— SqlAlchemy》 *****
【mysql】:使用的mysql数据库
【pymysql】:使用pymysql的引擎
【://scott】:数据库用户名
【:tiger】:数据库密码
【@localhost】:数据库地址
【/foo】:数据库的库名称
手动创建表结构:数据库名为【baojia】、表名为【banjuan】,以及各个字段值的类型、长度等

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

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

运行之后,mysql数据库的数据就插进来了
【完整代码】
import re
import json
import requests
from bs4 import BeautifulSoup as bs
from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine, Table, MetaData
class 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):
# 替换为你的数据库连接信息
DATABASE_URI = 'mysql+pymysql://root:1234567@localhost:3306/baojia'
# 创建数据库引擎
engine = create_engine(DATABASE_URI)
Session = sessionmaker(bind=engine)
session = Session()
# 定义JSON数据和表结构
json_data = self.script()['报价']
# 假设你有一个名为users的表
metadata = MetaData(bind=engine)
users_table = Table('banjuan', metadata, autoload_with=engine)
# 解析JSON数据并插入到数据库
for entry in json_data:
ins = users_table.insert().values(pin_name=entry['pin_name'],
guige=entry['guige'],
caizhi=entry['caizhi'],
chandi=entry['chandi'],
jiage=entry['jiage'],
zhangdie=entry['zhangdie'])
session.execute(ins)
# 提交更改
session.commit()
if __name__ == '__main__':
print(BS().mysql())
四、附录
参考其他的文章:
感谢作者:斑马L*-《python·数据采集·bs4(爬虫2)》 *****
AI智能回答:

from sqlalchemy import create_engine, Table, MetaData
from sqlalchemy.orm import sessionmaker
import json
# 替换为你的数据库连接信息
DATABASE_URI = 'mysql+pymysql://user:password@localhost:3306/database'
# 创建数据库引擎
engine = create_engine(DATABASE_URI)
Session = sessionmaker(bind=engine)
session = Session()
# 定义JSON数据和表结构
json_data = '[{"id": 1, "name": "Alice", "age": 30}, {"id": 2, "name": "Bob", "age": 25}]'
# 假设你有一个名为users的表,有id, name, age字段
metadata = MetaData(bind=engine)
users_table = Table('users', metadata, autoload_with=engine)
# 解析JSON数据并插入到数据库
data = json.loads(json_data)
for entry in data:
ins = users_table.insert().values(id=entry['id'], name=entry['name'], age=entry['age'])
session.execute(ins)
# 提交更改
session.commit()
【爬虫实战】——利用bs4和sqlalchemy操作mysql数据库,实现网站多行数据表格爬取数据的更多相关文章
- 【tips】ORM - SQLAlchemy操作MySQL数据库
优先(官方文档SQLAlchemy-version1.2): sqlalchemy | 作者:斯芬克斯 推荐一(长篇幅version1.2.0b3):python约会之ORM-sqlalchemy | ...
- 13、Flask实战第13天:SQLAlchemy操作MySQL数据库
安装MySQL 在MySQL官网下载win版MySQL 双击运行 后面根据提示设置密码然后启动即可,这里我设置的密码是:123456 我们可以通过Navicat客户端工具连接上MySQL addres ...
- 如何在Ubuntu 14.04上利用jexus搭建支持php+mysql数据库的网站服务
准备部分:sudo apt-get update sudo apt-get install unzip -y第一部分:安装jexus 在终端运行以下命令 cd /tm ...
- Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句 # python3 # author lizm # datetime 2018-02-01 10:00:00 # -*- co ...
- python【第十二篇下】操作MySQL数据库以及ORM之 sqlalchemy
内容一览: 1.Python操作MySQL数据库 2.ORM sqlalchemy学习 1.Python操作MySQL数据库 2. ORM sqlachemy 2.1 ORM简介 对象关系映射(英语: ...
- 利用Python操作MySQL数据库
前言 在工作中,我们需要经常对数据库进行操作,比如 Oracle.MySQL.SQL Sever 等,今天我们就学习如何利用Python来操作 MySQL 数据库. 本人环境:Python 3.7.0 ...
- golang利用beego框架orm操作mysql
GO引入orm框架操作mysql 在beego框架中引入orm操作mysql需要进行的步骤: 第一步:导入orm框架依赖,导入mysql数据库的驱动依赖 import ( "github.c ...
- Java 操作MySql数据库
Java 项目开发中数据库操作是很重要的一个方面,对于初学者来说,MySql是比较容易熟悉的一种常见数据库,这篇文章记录了如何用Java来操作MySql数据库. 第一章 JDBC的概念 JDBC(Ja ...
- python使用sqlalchemy连接mysql数据库
环境:centos7+python2.7.5+sqlalchemy sqlalchemy是python当中比较出名的orm程序.在python中,使用sqlalchemy连接mysql数据库进行操作非 ...
- c语言操作mysql数据库
c语言操作Mysql数据库,主要就是为了实现对数据库的增.删.改.查等操作,操作之前,得先连接数据库啊,而连接数据库主要有两种方法.一.使用mysql本身提供的API,在mysql的安装目录中可可以看 ...
随机推荐
- 设置Docker容器里的时间
启动容器时,添加环境变量 docer run -e TZ=Asia/Shanghai --rm myalpine date -e TZ=Asia/Shanghai
- sora未来在哪里,是否改变世界?
什么是Sora?(Solo 社区投稿) Sora在日语中是天空的意思,是一种文本到视频的扩散模型,Sora与使用文本提示创建图像的 Dall-E 非常相似,Sora 使用文本提示创建短视频.Sora ...
- 深入解析 Vue Router:构建单页面应用的利器
Vue.js 是一个渐进式 JavaScript 框架,常用于构建用户界面.随着应用的复杂度增加,路由(Routing)变得越来越重要,这就是 Vue Router 的用武之地.Vue Router ...
- 4. 系统I/O
系统 I/O 示例代码: #include <iostream> // 标准库头文件 // #include "myheader.h" // 自己写的头文件 void ...
- FFmpeg开发笔记(四十)Nginx集成rtmp模块实现RTMP推拉流
<FFmpeg开发实战:从零基础到短视频上线>一书的"10.2.2 FFmpeg向网络推流"介绍了轻量级流媒体服务器MediaMTX,虽然MediaMTX使用很简单, ...
- Java 基于Apache POI实现Excel读写操作
实践环境 Win10 Java JDK1.8 代码实现 pom.xml配置 <?xml version="1.0" encoding="UTF-8"?&g ...
- python中pip安装包出现Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))…………或无法pip install packname安装依赖包
问题: 安装包出现Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connec ...
- php 选择驱动写法
在 ThinkPHP 5.1 中,若要根据配置文件 sms.conf 中的设置在不同的短信渠道之间进行切换,可以采用以下步骤: 第一步:定义接口 首先,创建一个接口,这个接口将由所有短信渠道类实现.这 ...
- 【教程】运行所选代码生成器时出错:“无法解析依赖项。"EntityFramework 6.4.4" 与 ' EntityFramework.zh-Hans 6.2.0 约束:EntityFramework(=6.2.0)'不兼容。"
添加包含视图的控制器 执行以上添加"包含视图的MVC5控制器(使用Entity Framework)时报错 解决方案 在解决方案资源管理器中找到packages.config 注释掉Enti ...
- 再读vue
app.vue是项目的主组件,页面的入口文件 main.js是项目的入口文件 vue.config.js是vue-cli的配置文件//用这个配置代理,端口号 例如 const { defineConf ...