1.下载:

  解释器(我下的是3.8.2版本):https://www.python.org/downloads/

  pycharm(我下的是2019.3.3版本):https://www.jetbrains.com/pycharm/download/download-thanks.html?platform=windows

注意:python安装时要勾选

 

检查python是否安装好可以在cmd命令中输入python,出现下图即可

pycharm安装时这四个全选上(只有30天试用期)

JB全家桶永久激活:https://www.exception.site/essay/how-to-free-use-intellij-idea-2019-3

2.爬取网页信息(以浙工大为例)http://www.cs.zjut.edu.cn/jsp/inslabsread.jsp?id=35

# -*- codeing = utf-8 -*-
#@Time : 2022/2/20 16:44
#@Auther : 叶丹薇
#@File : spider.py
#@Software: PyCharm
from bs4 import BeautifulSoup #网页解析
import re #正则
import urllib.request,urllib.error #制定url 获取网页数据
import sqlite3 #数据库
import xlwt #excel
def main():
baseurl="http://www.cs.zjut.edu.cn/jsp/inslabsread.jsp?id="
#1.爬取网页
datalist=getData(baseurl)
savepath="导师.xls"
#3保存
saveData(datalist,savepath) findname=re.compile(r'<li><a.*?>(.*?)</a><br/>')#<a href=
finddire=re.compile(r'研究方向:(.*?)</a>')#<a href="#">空间信息计算研究所</a>
findcoll=re.compile(r'<li><a href="#">(.*?)</a>')
#1.爬取网页
def getData(baseurl):
datalist=[]
for j in range(35,50):
url=baseurl+str(j)
html=askURL(url)
if(html==''):continue
#2.逐一解析数据
soup=BeautifulSoup(html,"html.parser")
item0=soup.find_all('div',id="boxtitle3")
item0=str(item0)
colle = re.findall(findcoll,item0)[1]
for item in soup.find_all('div',style="width:100%; float:left"):#查找符合要求的字符串
item=str(item)
teacher=re.findall(findname,item)
director = re.findall(finddire, item)
for i in range(len(teacher)):
data = []
data.append(teacher[i])
data.append(colle)
data.append(director[i])
datalist.append(data)
# print(data)
# print(datalist)
return datalist #得到指定URL的网页内容
def askURL(url):
#模拟浏览器头部,进行伪装
head={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"}
request=urllib.request.Request(url,headers=head)#请求
html=""
try:
response=urllib.request.urlopen(request)#响应
html=response.read().decode("utf-8")
# print(html)
except urllib.error.URLError as e:
#print("这页没有内容")
html=''
return html
#保存数据
def saveData(datalist,savepath):
book=xlwt.Workbook(encoding="utf-8")#创建word对象
sheet=book.add_sheet('老师',cell_overwrite_ok=True)#创建sheet表
col=("姓名","研究所","研究方向")
for i in range(0,3):
sheet.write(0,i,col[i])
for i in range(0,len(datalist)):
#print("第%d条"%(i+1))
data=datalist[i]
for j in range(0,3):
sheet.write(i+1,j,data[j])
book.save(savepath)
if __name__=="__main__":
main()

python安装及简单爬虫(爬取导师信息)的更多相关文章

  1. 【Python数据分析】简单爬虫 爬取知乎神回复

    看知乎的时候发现了一个 “如何正确地吐槽” 收藏夹,里面的一些神回复实在很搞笑,但是一页一页地看又有点麻烦,而且每次都要打开网页,于是想如果全部爬下来到一个文件里面,是不是看起来很爽,并且随时可以看到 ...

  2. Node.js 爬虫爬取电影信息

    Node.js 爬虫爬取电影信息 我的CSDN地址:https://blog.csdn.net/weixin_45580251/article/details/107669713 爬取的是1905电影 ...

  3. python简单爬虫爬取百度百科python词条网页

    目标分析:目标:百度百科python词条相关词条网页 - 标题和简介 入口页:https://baike.baidu.com/item/Python/407313 URL格式: - 词条页面URL:/ ...

  4. Python 基础语法+简单地爬取百度贴吧内容

    Python笔记 1.Python3和Pycharm2018的安装 2.Python3基础语法 2.1.1.数据类型 2.1.1.1.数据类型:数字(整数和浮点数) 整数:int类型 浮点数:floa ...

  5. Python简单程序爬取天气信息,定时发邮件给朋友【高薪必学】

    前段时间看到了这个博客.https://blog.csdn.net/weixin_45081575/article/details/102886718.他用了request模块,这不巧了么,正好我刚用 ...

  6. 简单爬虫-爬取免费代理ip

    环境:python3.6 主要用到模块:requests,PyQuery 代码比较简单,不做过多解释了 #!usr/bin/python # -*- coding: utf-8 -*- import ...

  7. python实战之原生爬虫(爬取熊猫主播排行榜)

    """ this is a module,多行注释 """ import re from urllib import request # B ...

  8. PHP简单爬虫 爬取免费代理ip 一万条

    目标站:http://www.xicidaili.com/ 代码: <?php require 'lib/phpQuery.php'; require 'lib/QueryList.php'; ...

  9. 一个简单python爬虫的实现——爬取电影信息

    最近在学习网络爬虫,完成了一个比较简单的python网络爬虫.首先为什么要用爬虫爬取信息呢,当然是因为要比人去收集更高效. 网络爬虫,可以理解为自动帮你在网络上收集数据的机器人. 网络爬虫简单可以大致 ...

  10. 一个简单的python爬虫,爬取知乎

    一个简单的python爬虫,爬取知乎 主要实现 爬取一个收藏夹 里 所有问题答案下的 图片 文字信息暂未收录,可自行实现,比图片更简单 具体代码里有详细注释,请自行阅读 项目源码: # -*- cod ...

随机推荐

  1. 小白从零到AIoT之路(前言)

    什么是AIoT 简单来说就是AI(人工智能)+IoT(物联网)= AIoT(人工智能物联网). AIoT融合AI技术和IoT技术,通过物联网产生.收集来自不同维度的.海量的数据存储于云端.边缘端,再通 ...

  2. Lamdba表达式的无参数无返回值的练习-Lambda表达式有参数有返回值的练习

    Lamdba表达式的无参数无返回值的练习 题目给定一个厨子Cook接口,内含唯一的抽象方法makeFood,且无参数.无返回值.如下∶public interface cook {void makeF ...

  3. Java:枚举类型

    Java:枚举类型 每博一文案 师父说:人活一世,每个人都有他的特别,每个人都值得被温柔相待.红尘一遭,每段经历都有它的必然, 每段经历都造就了现在的你,最快乐的事情,就是做自己,最浪漫的事情,就是爱 ...

  4. C语言定制DEBUG信息

    C语言定制DEBUG信息 背景与问题 在日常编写程序中,我们经常需要输出一些调试信息帮助我们 DEBUG 或者更好的编程,通常我们的做法是这样的: 在需要的地方直接printf(...)输出有用的信息 ...

  5. HuggingNews #0210 这周模型有点多,快来看看吧

    每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...

  6. 真正“搞”懂HTTPS协议15之安全的定义

    前面我们花了很大的篇幅来讲HTTP在性能上的改进,从1.0到1.1,再到2.0.3.0,HTTP通过替换底层协议,解决了一直阻塞性能提升的队头阻塞问题,在性能上达到了极致. 那么,接下来,我们来聊一聊 ...

  7. 【Vue】计算属性 监听属性 组件通信 动态组件 插槽 vue-cli脚手架

    目录 昨日回顾 1 计算属性 插值语法+函数 使用计算属性 计算属性重写过滤案例 2 监听属性 3 组件介绍和定义 组件之间数据隔离 4 组件通信 父子通信之父传子 父子通信之子传父 ref属性 扩展 ...

  8. 00-DLL劫持&C语言远程加载shellcode

    0x01 杀软拦截检测规则引导-DLL劫持上线 准备工具 cs vs2019 dll劫持工具:https://bbs.pediy.com/thread-224408.htm 极速PDF:https:/ ...

  9. JZOJ 5033. 【NOI2017模拟3.28】A

    A 题面 思路 非常抽象地让你构造树,很容易想到 \(prufer\) 序列(如果你会的话) 说明一下:\(prufer\) 序列可以唯一确定一颗树的形态 若树的节点个数为 \(n\),那么 \(pr ...

  10. 【CTO变形记】整体系统思维-从现象到本质

    前言:我们的⼤脑⾥的认知不是⼀块⽩板,⽽是写满着密密麻麻对这个世界形成的各种观念.信念.塞满了对事物的各个表象,我们脑中的表象世界,对应着外部世界的各种事物. 如果感觉本篇看起来有点不适应,可以看看之 ...