python爬虫初体验

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30072697/article/details/81175574

前言

前几天问了老师个正则的问题 , 老师告诉我爬网站的话一般都是用BeautifulSoup模块 ,然后老师就说你拿这个网站玩玩 传送门

然后就想试试用爬虫玩一下

由于对python的那些模块不是很熟悉,也是刚学python,对于模块这些还不是很熟悉,百度浪费了很多时间

总之要感谢百度爸爸@https://www.baidu.com/

总体感觉效率还算可以吧 可能跟网速也有关系 博主测试的都是3 5s左右 有兴趣的可以自己玩一下

下面是代码 注释很全  大鸟轻喷~

from urllib.request import urlopen
from bs4 import BeautifulSoup
import time
import xlwt

t = time.time()
html = urlopen('http://www.zuihaodaxue.cn/zuihaodaxuepaiming2018.html')  # 读取网页
li = []
bs_obj = BeautifulSoup(html.read(), 'html5lib')  # 解析HTML对象
for td in bs_obj.select("tbody tr td"):  # 循环读取表格数据
    li.append(td.text)  # 获取的数据添加到列表中
# print(li)         # 调试时候看数据
wbk = xlwt.Workbook()  # 定义一个工作簿
sheet = wbk.add_sheet('sheet 1')  # 添加一个sheet
title = ['排名', '学校名称', '省市', '总分', '新生高考成绩得分', '毕业生就业率', '社会捐赠收入·千元', '论文数量·篇',
         '论文质量·FWCI', '高被引论文·篇', '高被引学者·人', '企业科研经费·千元', '校企合作论文·篇', '技术转让收入·千元']
# 创建一个水平居中的style
alignment = xlwt.Alignment()
alignment.horz = xlwt.Alignment.HORZ_CENTER
style = xlwt.XFStyle()
style.alignment = alignment
# 写标题
sheet.write_merge(0, 0, 0, 14, '最好大学网 2018年数据', style)  # 从0,0 到 0,14 一个和合并的单元格
# 写表头
for i in range(len(title)):
    sheet.write(1, i, title[i])  # 将表头按顺序写进去
# 写入数据
for j in range(len(li) // 14):  # 因为每一行有14个数据 所以 // 14
    # print('j', j)
    for k in range(14):  # 每行14个数据
        # print('k', k)
        sheet.write(j + 2, k, li[(j) * 14 + k], style)  # 依此写入14个数据 j+2是从第三行开始写入 因为标题和表头占了2行
wbk.save('BestUniversity.xls')  # 保存这个工作簿到指定文件
t = time.time() - t
print('操作完毕,用时', '{:.2f}'.format(t), 'ms')

总结

总之暂时感觉python还行吧 (现在只是学了基础,面向对象和后端那些还没学)

我看慕课网的进阶教程也只看到闭包 后面还有很长的路要走

为了玩机器学习 加油吧

ps 今天安装tensorflow折腾了几遍 终于装好了 踩了tf1.9的坑 他支持cuda9.0 我刚开始装的9.2 结果要9.0的cuda 又卸载重装了9.0才行  最终的配置 win10x64 + cuda9.0 + cudnn7 + tensorflow-gpu 1.9

猜你喜欢

转载自blog.csdn.net/qq_30072697/article/details/81175574