#encoding='GB2312' import requests import os from HTMLParser import HTMLParser print '本脚本可以帮助您下载K歌之王中上传的歌曲'+'\n' bourl = "http://bbs.byr.cn/board/KaraOK" filepath= 'python/' headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate, compress', 'Accept-Language': 'en-us;q=0.5,en;q=0.3', 'Cache-Control': 'max-age=0', 'Connection': 'keep-alive', 'X-Requested-With': 'XMLHttpRequest', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36' } if os.path.exists(filepath): pass else: os.makedirs(filepath) print '--------------------------' class PageParser(HTMLParser): def handle_starttag(self,tag,attrs): if tag=='a': global p_url str_temp='在新窗口打开此主题' for (key,val)in attrs: if key=='href': p_url=val if (key=='title')&(val==str_temp): downSong(p_url) class MyParser(HTMLParser): def handle_starttag(self,tag,attrs): global songHref if tag=='a': for (key,val)in attrs: if key=='href': songHref=val def handle_data(self,data): global flag global songName str_find='在新窗口打开' if data.find(str_find)>0: flag=True songName=data else: flag=False def handle_endtag(self, tag): global songName global flag if flag&(tag=='a'): songName=songName[0:songName.index('(')] song =requests.get("http://bbs.byr.cn/"+songHref) with open(filepath+songName,'wb') as code: code.write(song.content) print songName,'downCompleted' def downSong(url): songParser=MyParser() try: songContent=requests.get("http://bbs.byr.cn"+url,headers=headers).content songParser.feed(songContent) except: print '下载错误!!!!!!!!!!!!!!!!' p_url='' flag=False songName=''; songHref=''; p=80 while p<88: global p; p=p+1 temp_url=bourl+"?p="+str(p) bbcount =requests.get(temp_url,headers=headers).content parser=PageParser() parser.feed(bbcount); print 'the'+str(p)+'completed------------------------------------------------------------'
说明几点1:byr论坛采用ajax架构,header写法如上。
2:使用htmlParser解析文档
3:链接提取后,直接写入文件就可以
相关推荐
### Python之htmlParser入门教程详解 #### 一、HTMLParser模块简介 HTMLParser模块是Python标准库中的一个重要组成部分,主要用于解析HTML文档。该模块提供的`HTMLParser`类可以帮助开发者轻松地解析HTML或XHTML...
主要介绍了Python中使用HTMLParser解析html实例,本文直接给出使用示例,并总结出HTMLParser含有的方法分为两类,一类是需要显式调用的,而另一类不需显示调用,需要的朋友可以参考下
在"C# HTMLParser下载.rar"压缩包中,包含了一个名为"HtmlParser2003"的文件,这很可能是该库的一个早期版本。 首先,我们来看一下HTMLParser的基本用法。HTMLParser通常会提供一个解析器类,通过这个类,我们可以...
主要介绍了Python HTMLParser模块解析html获取url实例,HTMLParser是python用来解析html的模块,HTMLParser采用的是一种事件驱动的模式,需要的朋友可以参考下
本篇将详细介绍Python中的HTMLParser库及其核心概念。 一、HTMLParser库介绍 Python的标准库中包含了一个名为`html.parser`的模块,它提供了对HTML和基本XML的解析功能。这个解析器是基于事件驱动的,这意味着它会...
HTMLParser 使用举例 HTMLParser 是一个开源的类库,用于解析 Web 页面。它有两种主要使用方式:extraction 和 transformation。前者用于从网页中萃取出需要的内容,后者用于把 Web 页面中的内容转换为需要的格式。...
这个“htmlparser1.4完整包下载”提供的是该库的1.4版本,适用于处理和解析HTML内容,尤其是在那些网页结构不规范或者非XML标准的场景下非常有用。 HTMLParser库的设计目标是简单易用且具有灵活性,它允许开发者...
本项目聚焦于通过HTMLParser库解析HTML页面,提取特定信息,特别是歌曲链接,并利用HTTP下载这些资源。以下将详细讲解涉及的知识点: 首先,**HTMLParser** 是Python中用于解析HTML文档的内建库。它提供了一个基础...
以下是如何使用HtmlParser实现网络爬虫的关键知识点: 1. **HtmlParser库**:HtmlParser是一个强大的HTML解析器,它能够解析HTML文档,将其转换为一个可操作的节点树,方便开发者通过节点过滤和遍历来获取目标信息...
本项目名为"HTMLParser.net源代码HTMLParser.net使用demo",显然是一个包含示例代码的压缩包,用于展示如何在实际应用中使用HTMLParser.net。 HTMLParser.net的核心功能包括: 1. **HTML解析**:它能够将HTML字符...
此外,HTMLParser库不支持XML解析,如果你需要处理XML文档,应该使用Python的`xml.etree.ElementTree`模块。同时,需要注意的是,HTMLParser默认不处理编码问题,所以在解析前需要确保HTML内容已经被正确地解码。 ...
使用HTMLParser,我们可以解析网页内容,提取所需信息,如文章标题、链接、图片等。以下是一些核心概念和步骤: 1. **创建自定义解析器**: 首先,我们需要继承Python的`HTMLParser`类,并重写其方法,如`handle_...
使用htmlparser制作的网页爬虫例题
META-INF/maven/org.htmlparser/htmlparser/pom.properties META-INF/maven/org.htmlparser/htmlparser/pom.xml org.htmlparser.Parser.class org.htmlparser.PrototypicalNodeFactory.class org.htmlparser.beans....
`htmlparser.dll`是这个库的动态链接库文件,它包含了编译好的类和方法,可以直接在C#项目中引用以使用HTMLParser的功能。在C#项目中,我们可以通过添加对dll的引用来调用库中的方法,比如解析HTML字符串、查找特定...
本篇将详细阐述HTMLParser的使用方法、功能以及提供的相关资源。 首先,`HTMLParser-2.0-SNAPSHOT-doc.zip`包含了HTMLParser的使用文档。这份文档通常包含API参考、教程、示例代码和用户指南,是学习和理解...
### JAVA HtmlParser 使用实例详解 在Java开发过程中,解析HTML文档是一项常见的需求,尤其是在处理Web爬虫、数据抓取等应用场景时。`HtmlParser`库为开发者提供了一种简便的方式来解析HTML文档,并从中提取所需的...
本篇文章将深入探讨如何使用HTMLParser库来解析网页,查找文章内容,并将其下载保存。HTMLParser是Python标准库中的一个模块,专门用于解析HTML和XML文档。 首先,我们需要了解HTMLParser的基本用法。HTMLParser是...
以下是一个使用HTMLParser的简单示例,展示了如何从文件或URL读取HTML内容并进行解析: ```java import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.FileInputStream; import java....
Python-xss-filter的使用不仅限于简单的字符串处理,还可以结合其他Web框架,如Django、Flask等,实现对用户提交的表单数据、评论等内容的自动净化。这样可以确保即使用户输入了包含JavaScript的HTML,服务器也能...