这是一个创建于 2951 天前的主题,其中的信息可能已经有所发展或是发生改变。
<table width="722" height="166" border="1">
<tr>
<td id=1>C 和指针 Pointers On C</td>
<td id=2>2008-04</td>
<td id=3>Kenneth A.Reek 、 徐波</td>
<td id=4>¥ 54.70</td>
</tr>
<tr>
<td id=1>嗨翻 C 语言</td>
<td id=2>2013-09</td>
<td id=3>格里菲思 (David Griffiths)</td>
<td id=4>¥ 84.00</td>
</tr>
<tr>
<td id=1>C 语言入门经典(第 5 版)</td>
<td id=2>2013-11</td>
<td id=3>霍尔顿 (Ivor Horton)</td>
<td id=4>¥ 45.30</td>
</tr>
</table>
如果要抓取这样的代码,把内容输出到文件,输出成下面的格式,思路是怎样的?输出的格式我会做,这个不用讲。
C 和指针 Pointers On C 2008-04 Kenneth A.Reek 、 徐波 ¥ 54.70
嗨翻 C 语言 2013-09 格里菲思 ¥ 84.00
C 语言入门经典(第 5 版) 2013-11 霍尔顿 (Ivor Horton) ¥ 45.30
难到就是用正则“<tr><td id=1>”取出书名,用“</td><td id=2>”取出日期吗?
str1 = []
str1 = re.compile(r'<tr><td id=1> (.*?)</td>',re.DOTALL).findall(data)
这样把书名存到 str1 里了,那后边再取日期,人名,价格等存到哪里呢?
7 条回复 • 2016-04-09 21:33:35 +08:00
|
|
1
darkbread 2016-04-04 18:47:37 +08:00 via iPhone
str2 , str3 , str4
|
|
|
3
loalj 2016-04-04 21:07:49 +08:00
这种情况直接解析 dom 树吧,遍历每个 tr ,再从 tr 里边取出书名,日期什么的。
|
|
|
4
caspartse 2016-04-05 00:15:05 +08:00
可以以每本书为单位,匹配信息,然后存储到字典里。
|
|
|
5
amustart 2016-04-05 12:48:06 +08:00
有种东西叫做 HTML 解析器
|
|
|
6
ytmsdy 2016-04-05 16:57:55 +08:00
BeautifulSoup
|
|
|
7
oncew 2016-04-09 21:33:35 +08:00
用 BeautifulSOUP select 选择器,几秒钟就搞定了
|