• 大小: 6.97MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-27
  • 语言: Python
  • 标签: 爬虫  幼儿园  

资源简介

使用的库有,requests,re,xlsxwritter,beautifulsoup

资源截图

代码片段和文件信息

import requests
import re
import xlsxwriter
from bs4 import BeautifulSoup


# 获取请求
def get_soup(url param):
    response = requests.get(url params=param)
    soup = BeautifulSoup(response.text ‘html.parser‘)
    return soup


# 获取某地区分页数
def get_page_num(s):
    r = s.find_all(name=“div“ attrs={“class“: re.compile(r‘page‘)})[0]
    if r.find(“strong“) is None:
        return 0
    else:
        n = r.find(“strong“).find_next_siblings()[0].get_text()
        return int(n)


# 获取url参数
def get_param(grade area page):
    para = {‘grade_type‘: ‘1‘ ‘area_type‘: area “page“: page}
    return para


# 获取地区
def get_area(s):
    res_areas = []
    areas = s.find_all(name=‘li‘ attrs={“role“: “presentation“})
    for area in areas:
        t = area.find(‘a‘).string
        if t != ‘全部‘:
            res_areas.append(t)
    return res_areas


def main():
    url = “http://hzjiaoyufb.hangzhou.com.cn/school_list.php“
    soup = get_soup(url {‘grade_type‘: ‘1‘})
    # 初始化xlsx
    print(‘初始化xlsx...‘)
    workbook = xlsxwriter.Workbook(‘school.xlsx‘)
    worksheet = workbook.add_worksheet()
    bold = workbook.add_format({‘bold‘: True})
    worksheet.write(‘A1‘ ‘学校名称‘ bold)
    worksheet.write(‘B1‘ ‘学校地址‘ bold)
    worksheet.write(‘C1‘ ‘学校网址‘ bold)
    worksheet.write(‘D1‘ ‘学校电话‘ bold)
    worksheet.write(‘E1‘ ‘学校微信‘ bold)
    worksheet.write(‘F1‘ ‘学校微博‘ bold)
    worksheet.write(‘G1‘ ‘班级数目‘ bold)
    worksheet.write(‘H1‘ ‘学校类型‘ bold)
    worksheet.write(‘I1‘ ‘学校层次‘ bold)
    worksheet.write(‘J1‘ ‘地区‘ bold)
    # 根据地点和分页的遍历获取所有的子叶超链接,保存在arr中
    arr = []  # 存储链接地址
    area = []  # 存储地址信息
    school_name = []
    school_location = []
    school_website = []
    school_tel = []
    school_wx = []
    school_nature = []
    school_class = []
    school_pic = []
    school_wb = []
    school_type = []
    school_level = []
    print(‘获取所有区域...‘)
    for res_area in get_area(soup):
        soup = get_soup(url get_param(‘1‘ res_area ‘1‘))
        for num in range(get_page_num(soup)):
            soup = get_soup(url get_param(‘1‘ res_area num - 1))
            schools = soup.find_all(‘div‘ class_=“pInfo“)
            for school in schools:
                arr.append(‘http://hzjiaoyufb.hangzhou.com.cn/‘ + school.find(‘a‘).attrs[‘href‘])
                area.append(res_area)

    # 遍历arr中url,获取子叶信息
    print(‘获取所有学校数据...‘)
    for item in enumerate(arr):
        response = requests.get(item[1])
        soup = BeautifulSoup(response.text ‘html.parser‘)
        panel1 = soup.find(‘h2‘).text
        panel2 = soup.find_all(name=‘div‘ attrs=‘panel-body‘)
        school_name.append(panel1)
        array = []
        for panel in panel2:
            if panel.find(‘h6‘) is not None:
                array.append(panel.find(‘h6‘).text.strip())
        school_location.append(array[1])
        school_website.append(array[4])
        school_tel.append(ar

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        511  2018-09-23 16:50  getlist1\.idea\getlist1.iml

     文件        472  2018-09-25 09:57  getlist1\.idea\inspectionProfiles\Project_Default.xml

     文件        188  2018-09-23 16:50  getlist1\.idea\misc.xml

     文件        275  2018-09-23 16:44  getlist1\.idea\modules.xml

     文件      11876  2018-10-10 21:03  getlist1\.idea\workspace.xml

     文件       4150  2018-09-25 15:04  getlist1\main.py

     文件        896  2018-09-25 09:02  getlist1\rubbish.html

     文件      46030  2018-09-25 09:59  getlist1\school.xlsx

     文件       1666  2018-09-25 09:14  getlist1\test.py

     文件         55  2018-09-23 16:44  getlist1\venv\Lib\site-packages\easy-install.pth

     文件          1  2018-09-23 16:44  getlist1\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\EGG-INFO\dependency_links.txt

     文件         98  2018-09-23 16:44  getlist1\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\EGG-INFO\entry_points.txt

     文件          2  2018-09-23 16:44  getlist1\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\EGG-INFO\not-zip-safe

     文件       2972  2018-09-23 16:44  getlist1\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\EGG-INFO\PKG-INFO

     文件         74  2018-09-23 16:44  getlist1\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\EGG-INFO\requires.txt

     文件      12502  2018-09-23 16:44  getlist1\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\EGG-INFO\SOURCES.txt

     文件          4  2018-09-23 16:44  getlist1\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\EGG-INFO\top_level.txt

     文件      14014  2018-09-23 16:44  getlist1\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\basecommand.py

     文件       8764  2018-09-23 16:44  getlist1\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\baseparser.py

     文件       2773  2018-09-23 16:44  getlist1\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\build_env.py

     文件       7023  2018-09-23 16:44  getlist1\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\cache.py

     文件      16679  2018-09-23 16:44  getlist1\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\cmdoptions.py

     文件       1500  2018-09-23 16:44  getlist1\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\commands\check.py

     文件       3018  2018-09-23 16:44  getlist1\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\commands\completion.py

     文件       7343  2018-09-23 16:44  getlist1\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\commands\configuration.py

     文件       9092  2018-09-23 16:44  getlist1\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\commands\download.py

     文件       3320  2018-09-23 16:44  getlist1\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\commands\freeze.py

     文件       1729  2018-09-23 16:44  getlist1\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\commands\hash.py

     文件       1079  2018-09-23 16:44  getlist1\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\commands\help.py

     文件      20270  2018-09-23 16:44  getlist1\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\commands\install.py

............此处省略383个文件信息

评论

共有 条评论