周末没事研究了以下python中的HTMLParser库,学习了以下,写了个类似网络爬虫的代码,8684.cn中抓去北京公交线路的代码,代码只是实现了抓起的功能,并没有对数据做什么分析,也算是尝试着实现以下从网站获取信息的功能。python还是很强大的啊。直接上代码,如果想抓去其他城市的公交的话只需要把其中的INITIAL_URL 和BASE_URL进行修改就行,前提是8684.cn网站没有把自己的web格式个换了,程序员之间代码最容易沟通,下面直接上代码
#!/bin/python3
from html.parser import HTMLParser
import urllib.request
import time
from collections import deque
class BusLineInfoParser(HTMLParser):
"""
this just be a parser of 8684.cn
whichi has bus line information
"""
def __init__(self):
HTMLParser.__init__(self)
self.ready = False
self.tags = []
self.busline = []
def parse_attr(self, attrs):
dict_attrs = {}
for (k, v) in attrs:
dict_attrs[k] = v
return dict_attrs;
def handle_starttag(self, tag, attrs):
dict_attrs = self.parse_attr(attrs)
if tag == 'ul' and 'id' in dict_attrs and dict_attrs['id'] == 'z_lines' and 'class' in dict_attrs and dict_attrs['class'] == 'wf_clear':
self.tags.append((tag, 'wf_c

利用Python的HTMLParser库,作者编写了一个简单的网络爬虫,从8684.cn抓取北京公交线路信息。代码实现抓取功能,但未对数据做分析。为抓取其他城市公交数据,只需修改INITIAL_URL和BASE_URL。考虑到避免对网站影响,爬虫设置每3秒取一次数据。
最低0.47元/天 解锁文章
1392

被折叠的 条评论
为什么被折叠?



