网页抓取解密(一下Python简明教程(二):如何抓取相关的网页 )
优采云 发布时间: 2022-02-12 21:08网页抓取解密(一下Python简明教程(二):如何抓取相关的网页
)
需要从网上爬取相关网页。我只想学习Python。首先,我阅读了一个简洁的 Python 教程。它涵盖的内容不多,但可以帮助您快速入门。我一直认为实例驱动的学习是最有效的方法。因此,直接通过如何爬网的实际操作来丰富Python的学习效果会更好。
Python 提供了各种库,使各种操作非常方便。这里使用 Python 的 urllib2 和 sgmllib 库。对于HTML的处理,Python一共提供了三个模块:sgmllib htmllibHTMLParser。本文使用的是sgmllib,但是通过查找相关资料,发现第三方工具BeautifulSoup最好,可以处理较差的HTML。所以我们以后要学习BeautifulSoup。
(2)脚本代码
import urllib2
import sgmllib
class LinksParser(sgmllib.SGMLParser):
urls = []
def do_a(self, attrs):
for name, value in attrs:
if name == 'href' and value not in self.urls:
if value.startswith('http'):
self.urls.append(value)
print value
else:
continue
return
if __name__ == "__main__":
# str = ""
# if str.strip() is '':
# print "str is None"
# else:
# print "str is no None"
p = LinksParser()
f = urllib2.urlopen('http://www.baidu.com')
value = f.read()
print value
p.feed(value)
for url in p.urls:
print url
f.close()
p.close()