网页视频抓取(python爬虫抓取页面后解析html(图)抓取过程)
优采云 发布时间: 2022-03-21 08:23网页视频抓取(python爬虫抓取页面后解析html(图)抓取过程)
网络爬虫的定义
网络爬虫,或者Web Spider,是一个很形象的名字。互联网被比作蜘蛛网,那么蜘蛛就是在网上爬行的蜘蛛。
网络蜘蛛通过它们的链接地址寻找网页。从网站的某个页面(通常是首页)开始,读取网页的内容,找到网页中的其他链接地址,然后通过这些链接地址找到下一个网页,以此类推, 直到 网站 @网站 直到所有页面都被爬取。如果把整个互联网看成一个网站,那么网络蜘蛛就可以利用这个原理爬取互联网上的所有网页。这样一来,网络爬虫就是一个爬虫程序,一个爬取网页的程序。网络爬虫的基本操作是爬取网页。
浏览网页的过程
爬取网页的过程其实和读者平时使用IE浏览器浏览网页的方式是一样的。假设您在浏览器的地址栏中输入此地址。
打开网页的过程其实就是浏览器作为浏览的“客户端”,向服务器端发送请求,将服务器端的文件“抓取”到本地,然后解释并显示出来。
HTML 是一种标记语言,它使用标签来标记内容并对其进行解析和区分。浏览器的作用就是解析得到的HTML代码,然后将原创代码转换成我们直接看到的网站页面。
基于python的网络爬虫功能
1)。python获取html页面
其实最基本的抢站,两句话就够了:importurllib2
内容=urllib2.urlopen('
这样可以获取整个html文档,关键问题是我们可能需要从这个文档中获取我们需要的有用信息,而不是整个文档。这需要解析充满各种标签的html。
python爬虫爬取页面后解析html方法
Python爬虫html解析库SGMLParser
Python 默认自带 HTMLParser 和 SGMLParser 等解析器。前者太难用了。我用 SGMLParser 写了一个示例程序:
导入urllib2
fromsgmllibimportSGMLParser
类列表名称(SGMLParser):
定义(自我):
SGMLParser.init(self)
self.is_h4=""
自我名称=[]
defstart_h4(自我,属性):
self.is_h4=1
防御_h4(自我):
self.is_h4=""
defhandle_data(自我,文本):
ifself.is_h4==1:
self.name.append(文本)
内容=urllib2.urlopen('
列表名称=列表名称()
listname.feed(内容)
foriteminlistname.name:
printitem.decode('gbk').encode('utf8')
很简单,这里定义了一个叫ListName的类,继承SGMLParser中的方法。使用变量 is_h4 作为标记来确定 html 文件中的 h4 标签。如果遇到 h4 标记,则将标记中的内容添加到 List 变量名称中。解释start_h4()和end_h4()函数,它们的原型是SGMLParser中的start_tagname(self,attrs)
end_tagname(self)
tagname是标签名,比如遇到的时候
1,就会调用 start_pre,遇到
2
1,就会调用 end_pre。attrs 为标签的参数,以 [(attribute, value), (attribute, value), ...] 的形式传回。
2
python爬虫html解析库pyQuery
pyquery是jquery在python中的实现。可以用jquery语法对html文档进行操作和解析,非常方便。使用前需要安装,easy_install pyquery,或者ubuntu下的sudoapt-getinstallpython-pyquery
以下示例: frompyqueryimportPyQueryaspyq
doc=pyq(url=r'#x27;)
cts=doc('.market-cat')
影响:
print'====',pyq(i).find('h4').text(),'===='
forjinpyq(i).find('.sub'):
printpyq(j).text(),
打印'n'
Python爬虫html解析库BeautifulSoup
令人头疼的一个问题是,大多数网页都没有完全按照标准编写,各种莫名其妙的错误使得很难找出是谁编写的网页。为了解决这个问题,我们可以选择著名的 BeautifulSoup 来解析 html 文档,它具有很好的容错性。