夜元的小练笔🖊7

1.图片爬取(https://www.doutula.com/zz/list/)

代码:

import  requests
import re
response=requests.get("https://www.doutula.com/zz/list/")
data=response.text
#print(data)
img_url_res=re.findall(' data-original="(.*?)"',data)
for i in img_url_res:
 #print(i) 图片链接
 img_response = requests.get(i)
 img_data = img_response.content
 img_name = i.split("/")[-1]
 f = open(img_name, "wb")
 f.write(img_data)
 f.flush()

2.文字爬取(http://www.haha56.net/main/er_joke/)

文字
import requests
import re
response=requests.get("http://www.haha56.net/main/er_joke/")
response.encoding="gb2312"
data=response.text

content_res = re.findall('<dd class="preview">(.*?)</dd>', data)
title_res = re.findall('<a href="http://www.haha56.net/.*?" target="_blank">(.*?)</a>', data)
title_res=title_res[:10]

title_content_dic={}
for i in range(len(title_res)):
    title_content_dic[title_res[i]]=content_res[i]

for i in title_content_dic.items():
    print(f'{i[0]:<20}:{i[1]:<200}')

词频分析
import jieba
f=open(r"D:\pycharm\PyCharm 2018.1.4\代码\7z\test.txt","r")
data=f.read()

data_jieba=jieba.lcut(data)
#print(data_jieba)

count_dict={}
for word in data_jieba:
    if "孩子" in word:
        word=word.replace("孩子","小孩")
    if len(word) == 1 or len(word) == 3:
        continue
    if word in count_dict:
        count_dict[word] += 1
    else:
        count_dict[word] = 1
def func(i):
    return i[1]
data_list=list(count_dict.items())
data_list.sort(key=func)
data_list.reverse()

for i in data_list[0:10]:
    print(f'{i[0]:^7}{i[1]:^5}')

词云
import wordcloud
from imageio import imread
mask=imread(r"D:\pycharm\PyCharm 2018.1.4\代码\7z\2.png")
f=open(r"test.txt","r")
data=f.read()
w=wordcloud.WordCloud(font_path=r'C:\Windows\Fonts\simkai', mask=mask, width=820,height=480,
                         background_color="black")
w.generate(data)
w.to_file("out.png")

posted @ 2019-07-22 19:05  夜元  阅读(126)  评论(0)    收藏  举报