
Python 使用 BeautifulSoup解析html的问题
<trclass="datelisthead"><td>学年</td><td>学期</td><td>选课课号</td><td>课程名称</td><td>课程性质</td>...
<tr class="datelisthead">
<td>学年</td><td>学期</td><td>选课课号</td><td>课程名称</td><td>课程性质</td><td>期末考试成绩</td><td>总评成绩</td><td>学分</td><td>绩点</td>
</tr><tr>
<td>2008-2009</td><td>1</td><td>(2008-2009-1)-000000001-1020000726-6</td><td>体育1(蓝球)</td><td>必修课</td><td> </td><td>80</td><td>1.00</td><td>3</td>
</tr><tr class="alt">
<td>2008-2009</td><td>1</td><td>(2008-2009-1)-121100580-1020010079-1</td><td>思政课实践教学</td><td>必修课</td><td> </td><td>83</td><td>1.00</td><td>3.30</td>
</tr><tr>
<td>2008-2009</td><td>1</td><td>(2008-2009-1)-143140110-1020000683-1</td><td>计算机基本技能训练</td><td>必修课</td><td> </td><td>96</td><td>3.00</td><td>4.60</td>
</tr><tr class="alt">
<td>2008-2009</td><td>1</td><td>(2008-2009-1)-143158080-1020010057-1</td><td>软件工程专业导论</td><td>必修课</td><td> </td><td>90</td><td>4.00</td><td>4</td>
html中部分如上所示,我想依次提取出上面的所有汉字部分,请问怎么用BeautifulSoup来解析呢?我试了很多种函数都不行,望高手指点 展开
<td>学年</td><td>学期</td><td>选课课号</td><td>课程名称</td><td>课程性质</td><td>期末考试成绩</td><td>总评成绩</td><td>学分</td><td>绩点</td>
</tr><tr>
<td>2008-2009</td><td>1</td><td>(2008-2009-1)-000000001-1020000726-6</td><td>体育1(蓝球)</td><td>必修课</td><td> </td><td>80</td><td>1.00</td><td>3</td>
</tr><tr class="alt">
<td>2008-2009</td><td>1</td><td>(2008-2009-1)-121100580-1020010079-1</td><td>思政课实践教学</td><td>必修课</td><td> </td><td>83</td><td>1.00</td><td>3.30</td>
</tr><tr>
<td>2008-2009</td><td>1</td><td>(2008-2009-1)-143140110-1020000683-1</td><td>计算机基本技能训练</td><td>必修课</td><td> </td><td>96</td><td>3.00</td><td>4.60</td>
</tr><tr class="alt">
<td>2008-2009</td><td>1</td><td>(2008-2009-1)-143158080-1020010057-1</td><td>软件工程专业导论</td><td>必修课</td><td> </td><td>90</td><td>4.00</td><td>4</td>
html中部分如上所示,我想依次提取出上面的所有汉字部分,请问怎么用BeautifulSoup来解析呢?我试了很多种函数都不行,望高手指点 展开
3个回答
展开全部
content = '''<tr class="datelisthead">...'''
cptt = re.compile(r'[^\x00-\xff]')
print'\n'.join([a.text.encode('gbk')
for a in BeautifulSoup(content).findAll('td')
if cptt.match(a.text)])
cptt = re.compile(r'[^\x00-\xff]')
print'\n'.join([a.text.encode('gbk')
for a in BeautifulSoup(content).findAll('td')
if cptt.match(a.text)])
展开全部
import BeautifulSoup,re
假设htmlstr的值是你上面那些字符串
soup=BeautifulSoup.BeautifulSoup(htmlstr).findAll("td")
for i in soup:
if re.search(r'[^\x00-\xff]',i.text):
print i.text
假设htmlstr的值是你上面那些字符串
soup=BeautifulSoup.BeautifulSoup(htmlstr).findAll("td")
for i in soup:
if re.search(r'[^\x00-\xff]',i.text):
print i.text
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
BeautifulSoup(html).findAll('td')
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询