资源简介
使用的库有,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.xm
文件 188 2018-09-23 16:50 getlist1\.idea\misc.xm
文件 275 2018-09-23 16:44 getlist1\.idea\modules.xm
文件 11876 2018-10-10 21:03 getlist1\.idea\workspace.xm
文件 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_li
文件 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\ba
文件 8764 2018-09-23 16:44 getlist1\venv\Lib\site-packages\pip-10.0.1-py3.7.egg\pip\_internal\ba
文件 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个文件信息
- 上一篇:Python学习课件
- 下一篇:树莓派与Python学习一
相关资源
- 一个多线程智能爬虫,爬取网站小说
- 基于Python爬虫爬取天气预报信息
- 顶点小说单本书爬虫.py
- 一个简单的python爬虫
- 豆瓣爬虫;Scrapy框架
- 中国城市经纬度爬虫.ipynb
- Python爬虫数据分析可视化
- 网站列表信息爬虫
- 百度图片爬虫(python版)
- python爬取小说59868
- 彼岸花网壁纸爬虫
- Python 爬虫小说.ipynb
- 爬虫爬取网易云音乐
- 北邮python爬虫学堂在线
- python简单爬虫
- 爬取58同城二手房信息.py
- 知网爬虫软件(python)
- python爬虫爬取微博热搜
- python爬虫爬取旅游信息(附源码,c
- python爬虫爬取豆瓣电影信息
- 爬取上百张妹子图源码可直接运行
- Python爬虫实战入门教程
- 网络爬虫(pachong_anjuke.py)
- Python-京东抢购助手包含登录查询商品
- python网络爬虫获取景点信息源码
- python爬取维基百科程序语言消息盒(
- python新浪微博爬虫
- 12306爬虫实现
- 中国裁判文书网爬虫
- Python爬虫相关书籍.zip
评论
共有 条评论