代码拉取完成,页面将自动刷新
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()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。