我想从这个color dictionary创建一个颜色名称的Python字典到背景颜色。从网页表中刮取值
访问颜色名称字符串和背景颜色十六进制值的最佳方式是什么?我想为颜色名称 - >十六进制值创建映射,其中1个颜色名称映射到1个或更多十六进制值。
下面是我的代码:
import requests
from bs4 import BeautifulSoup
page = requests.get('http://people.csail.mit.edu/jaffer/Color/M.htm')
soup = BeautifulSoup(page.text)
我不知道如何定义如何从表中刮掉。我试过下面进入正题的格式,是非常有用的:
soup.td
<td nowrap="" width="175*">abbey</td>
soup.get_text()
"(M)\n td { padding: 0 10px; } \n\n(M) Dictionary of Color Maerz and Paul, Dictionary of Color, 1st ed. \n\nabbey207\nabsinthe [green] 120\nabsinthe yellow105\nacacia101102\nacademy blue173\nacajou43\nacanthe95\nacier109\nackermann's green137\naconite violet223....
.............\nyolk yellow84\nyosemite76\nyucatan5474\nyucca150\nyu chi146\nyvette violet228\n\nzaffre blue 179182\nzanzibar47\nzedoary wash71\nzenith [blue] 199203\nzephyr78\nzinc233265\nzinc green136\nzinc orange5053\nzinc yellow84\nzinnia15\nzulu47\nzuni brown58\n\n"
soup.select('tr td')
[...
<td nowrap="" width="175*">burnt russet</td>,
<td style="background-color:#722F37; color:#FFF" title="16">16</td>,
<td style="background-color:#79443B; color:#FFF" title="43">43
</td>,
<td nowrap="" width="175*">burnt sienna</td>,
<td style="background-color:#9E4732; color:#FFF" title="38">38
</td>,
...]
编辑: 我想凑在TD元素的字符串,例如“燃烧的黄褐色”的颜色和字符串(十六进制成分)在跟随其中将“style”属性指定为背景颜色的td元素。
我想要的字典如下所示:
color_map = {'burnt russet': [#722F37, #79443B], 'burnt sienna': [#9E4732]}
“我不知道如何指定从桌子上刮掉什么”,你想从桌子上得到什么? – sisanared
我澄清了我想提取的原始问题。这有帮助吗? – Fruitspunchsamurai