这是第一次参加百度的课程,跟着打卡营的方式,感觉实在是太棒了。学习效率有所提高,虽然之前接触过python语言,但是并没有大量的实践练习。因此,看到这个课程就很欣喜,觉得没有基础也可以参与,非常好,通过几次作业下来,让我了解了爬虫具体的实现过程,收获很大,感谢打卡营的各位老师!

day1

第一天主要是乘法表和文件的操作,乘法表不太难,但是文件这个地方就有点难了。需要遍历”Day1-homework”目录下文件;

找到文件名包含“2020”的文件。主要是通过调用了这个递归函数,实现的查找,这种方法需要熟悉。

def find_prefix_of_path(path, file_list):
    files = os.listdir(path)
    for file_name in files:
        file_path = os.path.join(path, file_name)

        if os.path.isdir(file_path):
            find_prefix_of_path(file_path, result)
        elif os.path.isfile(file_path) and u'2020' in file_name:
            file_list.append(file_path)

day2

这一天的课程老师主要讲了如何爬取网页上的数据,之前没有学过这个技术,通过学习,了解了是通过在网上找到html的代码,然后根据这个标签来进行爬取网页上面的内容。

爬虫的过程,就是模仿浏览器的行为,往目标站点发送请求,接收服务器的响应数据,提取需要的信息,并进行保存的过程。

Python为爬虫的实现提供了工具:requests模块、BeautifulSoup库。

爬虫的过程

1.发送请求(requests模块)

2.获取响应数据(服务器返回)

3.解析并提取数据(BeautifulSoup查找或者re正则)

4.保存数据

request模块:

requests是python实现的简单易用的HTTP库,官网地址:http://cn.python-requests.org/zh_CN/latest/

requests.get(url)可以发送一个http get请求,返回服务器响应内容。

BeautifulSoup库:

BeautifulSoup 是一个可以从HTML或XML文件中提取数据的Python库。网址:https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/

BeautifulSoup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,其中一个是 lxml。

BeautifulSoup(markup, "html.parser")或者BeautifulSoup(markup, "lxml"),推荐使用lxml作为解析器,因为效率更高。

day3

主要学习数据的可视化,通过绘制柱状图和饼状图的方法,把数据可视化出来。

day4

学习图片分类,要求是五分类,但是需要自己提供数据集,然后上传到平台上使用。因此需要自己先爬取图片,而且要求图片的数量最好每个分类都大于50,不然分类效果不好。

具体的爬虫方法可以参考博

获取数据之后,进行模型训练的过程中,一定要注意路径的问题,弄了很久也没有弄好,最后请教同学之后按照他们的方法得以成功。需要分清楚路径问题。

day5

是个大作业,还需要跟着老师的讲解才能够完成。需要统计词频并可视化,然后绘制词云。

需要注意的是停用词表是自己找的,并不是已经给出的数据。我在绘制词云的时候,遇到了问题

cloud_mask = np.array(Image.open("image.jpg"))
    #忽略显示的词
    st=set(['怎么'])
    #生成wordcloud对象
    wc = WordCloud(background_color="white", 
        mask=cloud_mask,
        max_words=300,
        stopwords=st)
    # 加载词频字典
    wc.fit_words(word_f)
    
    plt.axis("off")
    plt.show()

    wc.to_file("pic.png")

在这个代码中,主要是cloud_mask,有了这个之后显示不出来云图,因此很着急,可能是我的图片没有找对。看了老师的视频,没有这个也可以,因此我把这个东西给去掉了就可以用了。

经过这次的学习,我收获了很多,也知道自己的不足有很多,今后需要更加努力的学习。在遇到问题的时候,不能着急,自己先尝试百度解决问题,一定要有耐心,如果实在不可以,再寻求他人的帮助,最后一定可以成功。