Python实训day05am【正则表达式、网络爬虫】
- Python实训-15天-博客汇总表
目录
1、正则表达式
2、爬虫
![]()
![]()
- 论坛:掘金、csdn、博客园
- 刷题:力扣、牛客、实验楼
- 资料: w3、菜鸟、gitee
- W3school:https://www.w3school.com.cn/
- codecademy(编程学院):https://www.codecademy.cn/
- stack Overflow(中文社区):https://www.soinside.com/
- stack Overflow(外国社区):https://stackoverflow.com/
- leetcode(力扣):https://leetcode-cn.com/
- 文件的设计模式
- spring的设计模式
- ioc、aop
- jQuery--->id、class
Java 文件系统(IO流)的设计模式——涉及到很多的接口和类,使用什么结构来设计这些接口和类之间的关系的。
高级-->12000+,没有回答上来。Spring的设计模式——并不是太底层,如果稍微有面试准备的话,都差不多能回答上来。
高级-->12000+,没有回答上来。Spring的特征,IOC和AOP——基础理解。
中级-->9000,没有回答上来。Jquery中的class选择器,如何来定位元素?
(初级-->6000) 忘了?没有回答上来
$('.xxxx') $('#xxxx')、getElementsByClassName('xxxx')、querySelector('.xxxx')一线城市是没有他的生存空间的!!
二线城市,郑州,4000左右--->杂活,边角料--->2年或3年对自己的提升非常有限,给自己干废了!!
1、正则表达式
Python中正则表达式的详细教程:https://www.jb51.net/article/65286.htm
# python中的正则
s = '豫B·A696B';
# s中的字母去掉
# "".join(list(filter(str.isdigit, s)))ss = '';
for x in s:if ord(x) < 65 or ord(x) > 91:ss = ss + x;
print(ss) # 豫·696ss = [x for x in s if ord(x) < 65 or ord(x) > 91]
print("".join(ss)) # 豫·696
#如果在java中遇到这个问题,实现步骤。
String s = '豫B·A696B';
#去掉字母#手动遍历
String ss = "";
for(int i = 0; i < s.length(); i++){if(s.charAt(i) < 65 || s.charAt(i) > 90){ss = ss + s.charAt(i);}
}
System.out.print(ss)#正则【推荐】String ss = s.replaceAll("[A-Z]","");#支持正则
'''
python中的正则
re.sub(pattern, repl, string[, count])pattern正则替换成的内容字符串
将一个字符串中所有满足patter正则的部分,替换成repl
'''
import res = '豫B·A696B';
p = re.compile("[A-Z]"); # 编译生成正则规则
ss = re.sub(p, '', s)
print(ss) # 豫·696
编程语言有很多种,每一种都适合有不同的应用场景,但是它们的思想和使用都是相通的,要求:起码要足够精通一门。
笔: 铅笔、圆珠笔、彩笔、毛笔,等等,起码要会使用一种笔~
笔<------>写一篇非常好的文章/写出来一副非常美的字/画非常美的画。
大作业--实训报告(分组完成一个小的功能)
2、爬虫
熟练爬虫(第一阶段爬,爬取到的html,就是我们想要的内容)。
- 锻炼编程能力和编程思维
- 锻炼对编程语法的磨合度
- 锻炼基础数据结构的使用(list、dict等)
动手!
爬取起点中文网,第一页(前20)小说的名字/类型/得票数
连接地址:https://www.qidian.com/rank/yuepiao/year2022-month01(2022年1月份的排名)
import requests
from bs4 import BeautifulSoup as BS# 伪装成浏览器
hds = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36'}resp = requests.get('https://www.qidian.com/rank/yuepiao/year2022-month01/', headers=hds);print(resp.status_code) # 200ct = resp.content.decode('utf-8');# print(ct)
# print(ct.index('410334'))bs = BS(ct, 'lxml');names = bs.select('.rank-body .book-mid-info h2 a');
types = bs.select('.rank-body .book-mid-info .author a:nth-child(4)'); # !!!nth-child(4)
# votes = bs.select('.rank-body .book-right-info .total p span span'); # 暂不考虑
print(len(names)) # 20
print(len(types)) # 20
# print(len(votes))# for x in votes:
# print(x.get_text().decode())# 定位元素后,要么就是获取属性值-->['属性名'],要么就是获取元素内容-->.get_text()bookinfos = [];for i in range(len(names)):name = names[i];tp = types[i];bookinfos.append(name.get_text() + '-' + tp.get_text());print(bookinfos) # ['星门-玄幻', '明克街13号-都市', ...]
加油。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!



