免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4224 | 回复: 1
打印 上一主题 下一主题

请教:利用Python, Beautifulsoup抓取网页上特定字样 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-11-18 16:21 |只看该作者 |倒序浏览
向各位朋友请教,





我想抓取法制网上的http://www.legaldaily.com.cn/locality/node_32245.htm 上的新闻标题,并保存入csv文件. 由于刚刚接触Python, 知识不够用. 想向大家请教.


由于问题太多, 所以分开叙述.


难点: 无法正确抓取所需文字:


网页部分源代码为:

</HR><A class="f14 blue001" href="content/2013-11/01/content_4983464.htm?node=32245" target=_blank><SPAN class="f14 blue001">·</SPAN>玉门工商清理整顿一批无照经营户&nbsp;&nbsp;<SPAN class="f12 black">2013-11-01</SPAN></A> <BR><A class="f14 blue001" href="content/2013-11/01/content_4983441.htm?node=32245" target=_blank><SPAN class="f14 blue001">·</SPAN>临夏州举办涉法涉诉信访工作改革培训班&nbsp;&nbsp;<SPAN class="f12 black">2013-11-01</SPAN></A> <BR><A class="f14 blue001" href="content/2013-11/01/content_4983439.htm?node=32245" target=_blank><SPAN class="f14 blue001">·</SPAN>酒泉市肃州区马营河水闸道路工程顺利通车&nbsp;&nbsp;<SPAN class="f12 black">2013-11-01</SPAN></A> <BR><A class="f14 blue001" href="content/2013-11/01/content_4983401.htm?node=32245" target=_blank><SPAN class="f14 blue001">·</SPAN>酒泉狠抓四环节推进涉法涉诉信访工作改革&nbsp;&nbsp;<SPAN class="f12 black">2013-11-01</SPAN></A> <BR><A class="f14 blue001" href="content/2013-10/30/content_4974324.htm?node=32245" target=_blank><SPAN class="f14 blue001">·</SPAN>酒泉瓜州工商局开展群众路线教育实践活动&nbsp;&nbsp;<SPAN class="f12 black">2013-10-30</SPAN></A> <BR><A class="f14 blue001" href="content/2013-10/29/content_4971723.htm?node=32245" target=_blank><SPAN class="f14 blue001">·</SPAN>酒泉市瓜州县工商局开展酒类市场集中整治&nbsp;&nbsp;<SPAN class="f12 black">2013-10-29</SPAN></A> <BR><A class="f14 blue001" href="content/2013-10/21/content_4948889.htm?node=32245" target=_blank><SPAN class="f14 blue001">·</SPAN>酒泉市信访局开设“道德讲堂”&nbsp;&nbsp;<SPAN class="f12 black">2013-10-21</SPAN></A> <BR><A class="f14 blue001" href="content/2013-10/21/content_4948876.htm?node=32245" target=_blank><SPAN class="f14 blue001">·</SPAN>打造制度建设新亮点 推动酒泉经济发展&nbsp;&nbsp;<SPAN class="f12 black">2013-10-21</SPAN></A> <BR><A class="f14 blue001" href="content/2013-10/18/content_4944212.htm?node=32245" target=_blank><SPAN class="f14 blue001">·</SPAN>酒泉加强行政程序建设提高依法行政水平&nbsp;&nbsp;<SPAN class="f12 black">2013-10-18</SPAN></A> <BR><A class="f14 blue001" href="content/2013-10/16/content_4940043.htm?node=32245" target=_blank><SPAN class="f14 blue001">·</SPAN>酒泉肃州西峰乡进一步落实矛盾排查制度&nbsp;&nbsp;<SPAN class="f12 black">2013-10-16</SPAN></A> <BR>


<HR SIZE=1>



目的是抓取新闻标题.


目前的代码如下:


from bs4 import BeautifulSoup
import re
import urllib2


url = "http://www.legaldaily.com.cn/locality/node_32245.htm"
page = urllib2.urlopen(url)
soup = BeautifulSoup(page.read())

xinwen = soup.find_all('span')

for xw in xinwen:
    print xw



但是运行效果出来, 所取标题文字残缺, 而且有很多<span class="f14 blue001">路</span>的字样.

请问怎样才能正确取出呢? 谢谢.

论坛徽章:
0
2 [报告]
发表于 2013-11-18 23:12 |只看该作者
  1. d = urllib2.urlopen('http://www.legaldaily.com.cn/locality/node_32245.htm')
  2. soup = BeautifulSoup(d.read().decode('utf-8'))
  3. f = open('c:/ldo.txt','wb')
  4. for a in soup.find_all('a', attrs={'class':'f14'}):
  5.     for span in a.find_all('span'):
  6.         span.extract()
  7.     f.write(a.string.strip().encode('utf-8'))
  8.     f.write('\n')
  9. f.close()
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP