淘淘商城学习资源目录
目录
- 淘淘商城第一课
- 淘淘商城第二课(搭建Maven工程)
- 淘淘商城第三课(使用tomcat插件启动web工程)
- 淘淘商城第四课(使用tomcat插件启动聚合工程)
- 淘淘商城第五课(安装SVN服务器)
- 淘淘商城第六课(向SVN服务器上传和下载代码)
- 淘淘商城第七课(SSM框架整合之逆向工程)
- 淘淘商城第八课(SSM框架整合之Dao层整合)
- 淘淘商城第九课(SSM框架整合之Service层整合)
- 淘淘商城第十课(SSM框架整合之springmvc整合及父子容器的关系)
- 淘淘商城第十一课(dubbo入门及单机版zookeeper安装)
- 淘淘商城第十二课(发布dubbo服务)
- 淘淘商城第十三课(引用dubbo服务)
- 淘淘商城第十四课(服务调用测试)
- 淘淘商城第十五课(dubbo监控中心)
- 淘淘商城第十六课(展示后台管理页面)
- 淘淘商城第十七课(商品列表展示、PageHelper的使用)
- 淘淘商城第十八课(商品分类选择的实现)
- 淘淘商城第十九课(搭建单机版FastDFS图片服务器以及使用FastDFS-Client客户端进行简单测试)
- 淘淘商城第二十课(实现图片上传功能)
- 淘淘商城第二十一课(解决KindEditor上传图片不兼容的问题)
- 淘淘商城第二十二课(KindEditor富文本编辑器的使用)
- 淘淘商城第二十三课(添加商品的实现)
- 淘淘商城第二十四课(前台系统工程搭建)
- 淘淘商城第二十五课(CMS内容管理系统表设计及内容工程搭建)
- 淘淘商城第二十六课(内容分类管理)
- 淘淘商城第二十七课(内容管理)
- 淘淘商城第二十八课(首页大广告位的展示)
- 淘淘商城第二十九课(Redis的安装)
- 淘淘商城第三十课(Jedis的使用)
- 淘淘商城第三十一课(Redis集群搭建)
- 淘淘商城第三十二课(Redis集群测试)
- 淘淘商城第三十三课(使用Spring来管理Redis单机版和集群版)
- 淘淘商城第三十四课(在业务逻辑中添加缓存)
- 淘淘商城第三十五课(Solr的安装)
- 淘淘商城第三十六课(Solr集群搭建)
- 淘淘商城第三十七课(中文分析器IK-Analyzer的使用)
- 淘淘商城第三十八课(搜索服务搭建)
- 淘淘商城第三十九课(搜索系统搭建)
- 淘淘商城第四十课(导入商品数据到索引库-dao层)
- 淘淘商城第四十一课(使用solrj来测试索引库)
- 淘淘商城第四十二课(导入商品数据-service层)
- 淘淘商城第四十三课(实现从数据库导入数据到索引库)
- 淘淘商城第四十四课(首页跳转到搜索页面及搜索实现分析)
- 淘淘商城第四十五课(使用SolrJ查询索引库)
- 淘淘商城第四十六课(搜索服务Dao实现)
- 淘淘商城第四十七课(搜索功能Service实现)
- 淘淘商城第四十八课(商品搜索功能Controller实现)
- 淘淘商城第四十九课(搜索功能测试)
- 淘淘商城第五十课(使用SolrJ管理Solr集群)
- 淘淘商城第五十一课(搜索功能切换到集群)
- 淘淘商城第五十二课(全局异常处理)
- 淘淘商城第五十三课(使用JMail来发送邮件)
- 淘淘商城第五十四课(为何引入ActiveMQ)
- 淘淘商城第五十五课(ActiveMQ的安装)
- 淘淘商城第五十六课(ActiveMQ发送queue消息)
- 淘淘商城第五十七课(接收Queue消息)
- 淘淘商城第五十八课(ActiveMQ发送topic消息和接收topic消息)
- 淘淘商城第五十九课(ActiveMQ持久化Topic消息)
- 淘淘商城第六十课(Spring与Activemq的整合及用JmsTemplate发送消息)
- 淘淘商城第六十一课(Activemq与Spring整合接收消息)
- 淘淘商城第六十二课(添加商品同步到索引库以及消息机制测试)
- 淘淘商城第六十三课(搭建商品详情页面工程)
- 淘淘商城第六十四课(实现商品详情页面展示)
- 淘淘商城第六十五课(查询商品详情添加缓存分析)
- 淘淘商城第六十六课(商品详情缓存的实现)
- 淘淘商城第六十七课(freemarker入门)
- 淘淘商城第六十八课(freemarker语法)
- 淘淘商城第六十九课(spring与freemarker的整合)
- 淘淘商城第七十课(网页静态化方案分析)
- 淘淘商城第七十一课(网页静态化-freemarker模板改造)
- 淘淘商城第七十二课(网页静态化-业务逻辑及测试)
- 淘淘商城第七十三课(Nginx基础)
- 淘淘商城第七十四课(nginx配置及举例使用端口、域名来区分不同的虚拟主机)
- 淘淘商城第七十五课(nginx配置反向代理)
- 淘淘商城第七十六课(nginx负载均衡)
- 淘淘商城第七十七课(LVS+Nginx负载均衡—上篇)
- 淘淘商城第七十八课(LVS+Nginx负载均衡(包括两种开机启动方法)—-中篇)
- 淘淘商城第七十九课(LVS+Nginx负载均衡—-下篇)
- 淘淘商城第八十课(安装Keepalived)
- 淘淘商城第八十一课(SSO系统分析)
- 淘淘商城第八十二课(SSO工程搭建)
- 淘淘商城第八十三课(单点登录接口文档分析及Service层接口开发并发布)
- 淘淘商城第八十四课(单点登录检查数据是否可用—Controller层及测试)
- 淘淘商城第八十五课(单点登录用户注册–Service层)
- 淘淘商城第八十六课(单点登录用户注册Controller层实现及测试)
- 淘淘商城第八十七课(单点登录用户登录流程分析及用户登录Service层)
- 淘淘商城第八十八课(单点登录用户登录–Controller层及测试)
- 淘淘商城第八十九课(单点登录之通过token获取用户信息)
- 淘淘商城第九十课(单点登录之安全退出)
- 淘淘商城第九十一课(单点登录、注册页面展示)
- 淘淘商城第九十二课(用户注册页面实现)
- 淘淘商城第九十三课(用户登录的实现)
- 淘淘商城第九十四课(js跨域分析)
- 淘淘商城第九十五课(jsonp的原理及两种实现方式)
- 淘淘商城第九十六课(购物车实现分析及工程搭建)
- 淘淘商城第九十七课(商品详情页面对加入购物车进行改造)
- 淘淘商城第九十八课(添加购物车)
- 淘淘商城第九十九课(展示购物车列表)
- 淘淘商城第一百课(修改购物车商品数量)
- 淘淘商城第一百零一课(删除购物车商品及购物车总结)
- 淘淘商城第一百零二课(订单系统服务端和客户端工程搭建)
- 淘淘商城第一百零三课(利用拦截器实现登录功能及订单确认页面展示)
- 淘淘商城第一百零四课(生成订单)
- 淘淘商城第一百零五课(定时任务—Quartz)
- 淘淘商城第一百零六课(Mycat简单入门)
- 淘淘商城第一百零七课(Mycat的数据库分片)
- 淘淘商城第一百零八课(Mycat的读写分离)
- 淘淘商城第一百零九课(tomcat热部署)
- 淘淘商城终结篇(系统部署演示)
爬取代码
from bs4 import BeautifulSoup
import requests
from fake_useragent import UserAgent
import cn2an
ua = UserAgent()
urls = ["https://blog.csdn.net/u012453843/category_6970308.html",
"https://blog.csdn.net/u012453843/category_6970308_2.html",
"https://blog.csdn.net/u012453843/category_6970308_3.html"]
headers={"User-Agent":ua.random}
data = []
# 解析数据
for url in urls:
r=requests.get(url=url,headers=headers)
bs = BeautifulSoup(r.text, "html.parser")
bs = bs.find_all("ul",class_="column_article_list")[0]
bs = bs.find_all("li")
for i in bs:
kv = {}
title = i.a.find_all("div",class_="column_article_title")[0].h2.text.replace(" ","").replace("原创\n","").replace("\n","").replace("学习","")
href = i.a["href"]
kv["title"] = title
kv["href"] = href
data.append(kv)
# print("["+title+"]("+href+")")
# 数据整理
for i in data:
title = i["title"]
# print(title)
startIndex = title.find("第")
sendIndex = title.find("课(")
if startIndex == -1:
i["index"]=999
else:
i["index"]=cn2an.cn2an(title[startIndex+1:sendIndex], "normal")
# 数据排序
data.sort(key=lambda x: x['index'], reverse=False)
# 数据输出
for i in data:
print("* [%s](%s)" % (i["title"],i["href"]))