资源简介
使用的库有,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实现淘宝爬虫
- Python小说器
- Packt-Web.Scraping.with.Python.Richard Lawson
- python程序设计基于网络爬虫的电影评
- 基于Python的股票数据爬虫系统GUI
- 网络爬虫-Python和数据分析
- 网络爬虫 v1.0
- 《零基础:21天搞定Python分布爬虫》课
- python网络数据采集.pdf30995
- 基于Python专用型网络爬虫的设计及实
- 北京市交通路网拥堵指数分析
- python爬虫爬取豆瓣评分数据
- 利用python做的一个简单爬虫程序,可
- python知乎评论爬虫源代码
- 用Python写网络爬虫PDF&源码.rar
- Python爬虫教学PPT
- Python爬虫开发与项目实战.mobi
- python + selenium +pyquery 爬虫 爬取 1688详
- Python-智联51job招聘需求挖掘采集和分
- 大数据实训.zip数据收集:网络爬虫、
- Python-指定用户的所有抖音视频以及收
- 百度文库PDF爬虫
- Selenium 2自动化测试实战 基于Python语言
- python专利爬虫
- (一)python爬虫验证码识别去除干扰
- 全套从零开始学Python网络爬虫教学以
- 大数据爬虫系统
- 豆瓣图书爬虫以及图书数据xlsx
- youdaoHelper成品.rar
- python爬虫项目
评论
共有 条评论