今日代码(20201003)--简单爬虫

    科技2022-07-11  83

    代码笔记,仅供参考


    利用python爬取安徽省高校名单

    因为工作需要,所以我爬取了安徽省高校的名单,并将其保存在csv文件中:

    # -*- coding: utf-8 -*- # -*- coding: utf-8 -*- import requests from lxml import etree from fake_useragent import UserAgent import time import csv class SchoolSpider: def __init__(self): self.url = 'http://www.gx211.com/gxmd/gx-ah.html' def get_ua(self): return UserAgent().random def get_page(self): headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0)'} res = requests.get(self.url, headers = headers) html = res.content.decode('utf-8') print('url:', res.url) print('code:', res.status_code) #print(html) self.get_school_list(html) def get_school_list(self, html): html_parse = etree.HTML(html) xpath = '//table//td[@class="td1"]/a/text()' s_list = html_parse.xpath(xpath) #print(s_list) self.write_ip(s_list) def write_ip(self, school_list): with open('./output/my_school_name.csv', 'w', newline = '', encoding = 'utf-8') as f: writer = csv.writer(f) writer.writerow(['school']) for item in school_list: writer.writerow([item]) def main(self): self.get_page() if __name__ == '__main__': start = time.time() spider = SchoolSpider() spider.main() end = time.time() print('执行时间:%.2f' % (end-start))

    部分结果:

    school 安徽大学 中国科学技术大学 合肥工业大学 安徽工业大学 安徽理工大学 安徽工程大学 安徽农业大学 安徽医科大学 蚌埠医学院 皖南医学院 安徽中医药大学 安徽师范大学 阜阳师范大学 安庆师范大学
    Processed: 0.020, SQL: 8