爬虫大作业

1.选一个自己感兴趣的主题或网站。(所有同学不能雷同)

2.用python 编写爬虫程序,从网络上爬取相关主题的数据。

import urllib.request as ur
from urllib.request import Request
from bs4 import BeautifulSoup as bs
from urllib import parse
import os


def gethtml(url):
    header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'}
    req = Request(url, headers=header)
    html = ur.urlopen(req).read().decode('utf-8')
    return html

def getinfo(html):
    soup = bs(html,'html.parser')
    info = soup.select('.newlist_deatil_last')
    return info

if __name__=="__main__":
    area = parse.quote('北京')
    job = parse.quote('前端开发')
    url = "http://sou.zhaopin.com/jobs/searchresult.ashx?jl={}&kw={}&p={}&isadv=0".format(area,job,1)
    html1 = gethtml(url)
    info = getinfo(html1)
    path = os.path.abspath(__file__).replace('zhilianzhaopin.py', '')
    for i in info:
        f = open(path + 'info.txt', 'a+', encoding='utf-8')
        f.write(i.get_text())
        f.close()

3.对爬了的数据进行文本分析,生成词云。

4.对文本分析结果进行解释说明。

5.写一篇完整的博客,描述上述实现过程、遇到的问题及解决办法、数据分析思想及结论。

6.最后提交爬取的全部数据、爬虫及数据分析源代码。

import jieba
import PIL
from wordcloud import WordCloud
import matplotlib.pyplot as p


info = open('C:\Users\LAF\Desktop\info.txt','r',encoding='utf-8').read()
text = ''
text += ' '.join(jieba.lcut(info))
wc = WordCloud(font_path='C:WindowsFontsSTZHONGS.TTF',background_color='White',max_words=50)
wc.generate_from_text(text)
p.imshow(wc)
p.axis("off")
p.show()

运行结果:

总结:在完成本次大作业时,遇到的困难还是有的,比如想获取的页面链接的标签找不到合适的,爬取出来的数据不满意。在进行词云生成时通过同学的建议及帮助也很顺利的完成。希望以后有更多的机会练习相关的知识。

原文地址:https://www.cnblogs.com/liangyao111/p/8920756.html