2 Star 3 Fork 2

starsgod/CSDN资源库

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
研究院校爬取.py 1.45 KB
一键复制 编辑 原始数据 按行查看 历史
starsgod 提交于 2021-04-19 17:07 +08:00 . update 研究院校爬取.py.
import requests
from lxml import etree
import re
# 爬虫
def spider(url,info):
re = requests.get(url) # get请求获取网页
re.encoding='utf-8' # 设置编码防止文字乱码
html = re.text # 获取页面数据
selector = etree.HTML(html)
contents = selector.xpath("//table[@class='ch-table']/tbody/tr") # 获取所有的tr标签数据,格式为列表
for data in contents:
name = str(data.xpath("./td[1]/a/text()")[0]) # 获取大学名称
info.append(name.strip()) # 加入info列表中,strip去除字符串两端空格
def save(info):
f = open("school_name.txt", 'w',encoding='utf-8') # w方式创建文件,默认会覆盖原有同名文件的数据,设置编码为utf-8
for name in info:
f.write(name+"\n") # 循环写入大学名称,后面加了换行符实现一个名称占据一行
f.close()
def main():
infos = [] # 初始化的列表,注意在python中列表传入函数中被修改后会保存修改,利用这个特性保存爬虫数据
base_url = "https://yz.chsi.com.cn/sch/?start=" # 网站基础url
offset = 0 # 偏移量
for i in range(0,43): # 循环爬取所有页面的数据
url = base_url + str(offset)
spider(url, infos)
offset += 20
print("当前爬取进度为{}/43".format(i+1))
save(infos) # 调用save函数存储数据到本地
if __name__ == "__main__":
main()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/starsgod/csdn-resource-library.git
git@gitee.com:starsgod/csdn-resource-library.git
starsgod
csdn-resource-library
CSDN资源库
master

搜索帮助