基于scrapy和beautifulsoup框架,可以方便地从网页爬取我们所需要的信息,无论中文,数字或者是英文信息,均可以按找我们希望的方式爬取下来。
这次我想爬取我们学院主页的所有老师的个人信息,包括职称,电话,办公室地址和电子邮箱。
pipelines如下:
from teacher1 import settings
import os
import urllib
from bs4 import BeautifulSoup
class TeacherPipeline(object):
def process_item(self, item, spider):
dir_path = '%s/%s' % (settings.PAGES_STORE, spider.name) # 存储路径
print 'dir_path', dir_path
if not os.path.exists(dir_path):
os.makedirs(dir_path)
file_path = '%s/teacherList.doc' % dir_path # 1015修改产生联系方式
with open(file_path, 'wb') as file_writer:
for page_url in item['page_urls']:
print 'http://me.sjtu.edu.cn/sz_minglu/'+page_url
html = urllib.urlopen('http://me.sjtu.edu.cn/sz_minglu/'+page_url).read() #