Python学习日志(九)

今天上午是紧跟随昨天下午学习的使用百度的AI进行一个图片识别的基础,此处略过不谈。
下午进行了一个小测试,分为笔试和机试。
笔试是闭卷考试,机试是开卷考试。
在做笔试的时候,我发现个人存在以下问题:
在序列的输出时,我知道输出什么,但是总是忘记了带上符号。
在第三方工具的requests代码简答题考核时,因为pycharm会自动补充的原因,所以并没有记得其获取网页状态码的方法。(requests.staut_code)
其次,我发现我在使用循环的时候存在着语法的混淆。
我容易把Python的for循环用成C里的。
其次,我对Python的一些基础概念不是太熟悉,比如在python的基础结构这一问题中我就不知道答案。
在字符串的查找和替换时,我会混淆remove和del的用法,从而导致语法写错。
最后,开卷机考时,我因为对bs4的使用不是太熟所以花去了大量的时间,甚至在一开始出现了返回码为411的错误,造成错误的原因可能是头文件的用户代理写错了,虽然我改了很多次但是依旧没有成功,最后只有删掉用户代理强行跳过411返回码。
并且,在解析网页源码获取容器div里的字符串时,我发现如果使用find_all再使用.string或get_text()时会提示错误,这是因为.string只能使用在一个容器上,而find_all找到了所有的容器。
解决方案是使用循环,将其一个一个地分别用.string提取出来。
最后,指导我们两个星期的刘老师因为工作原因不得不与我们分开,感谢他传授给我们经验和知识,希望他一路平安。

机考内容是爬取爱思助手某篇网页里的文字,具体代码如下:
from bs4 import BeautifulSoup;
import requests;
import os;
url = “https://www.i4.cn/jobs.html “;
def Get_web_text(url):
requests_01 = requests.get(url);
print(requests_01.status_code)
if requests_01.status_code == 200:
# requests_01.encoding = “gbk”;
data = requests_01.text.replace(u’\xa9’, u’’);
file_path = “C:/Users/Administrator/Desktop/users/”;
if not os.path.exists(file_path):
os.makedirs(file_path);
pass
file_web = open(“C:/Users/Administrator/Desktop/users/text.html”,“w”,1);
file_web.write(data);
file_web.close();
print(“已经保存到本地文件中。”);
soup = BeautifulSoup(data,“html.parser”);
div_title = soup.find_all(“section”);
for all in div_title:
title = all.find_all(“div”)[0].string
# dt01 = all.find_all(“dt”)[0].string
# dt02 = all.find_all(“dt”)[1].string
dl = all.find(“dl”)
print(title,end=””)
for a in dl:
print(a.string.replace(" “,”"),end="")
print("\n")
pass
else:
print(“False!”)
if name == “main”:
# header = {“User-Agent”:“Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36”};
Get_web_text(url);
pass

发布了21 篇原创文章 · 获赞 1 · 访问量 1571

猜你喜欢

转载自blog.csdn.net/qq_33566628/article/details/88537046