设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1811|回复: 0

python爬取保险岛17000多个保险顾问的个性标签,并做词云图

[复制链接]

20

主题

162

金钱

264

积分

入门用户

发表于 2019-8-15 14:53:29 | 显示全部楼层 |阅读模式

先上图
1.jpg

代码
  1. import time
  2. import re
  3. import requests
  4. from bs4 import BeautifulSoup
  5. import pandas as pd
  6. import numpy as np
  7. from selenium import webdriver
  8. from selenium.webdriver.common.keys import Keys
  9. from selenium.webdriver.common.action_chains import ActionChains
  10. from selenium.webdriver.support.select import Select
  11. #driver=webdriver.Chrome()
  12. url_list=[]
  13. for i in range(1,1742):
  14.     print(i)
  15.     url='https://www.bxd365.com/agent/0-0-0/'+str(i)+'.html'
  16.     #url='https://www.bxd365.com/agent/0-0-0/2.html'
  17.     try:
  18.        page=requests.get(url,timeout=15)
  19.     except:
  20.        time.sleep(5)
  21.        page=requests.get(url,timeout=15)
  22.     page.encoding='utf-8'
  23.     page=page.text
  24.     p_url=re.compile(r"""class="name">\r\n\t\t\t\t\t\t\t<a href="([\s\S]*?)" target="_blank">""")
  25.     url=p_url.findall(page)
  26.     url_list.extend(url)
  27. len(url_list)
  28. count=0
  29. content_dict={}
  30. for url in url_list:
  31.     #url='https://bxd574268973.bxd365.com/'
  32.     try:
  33.        page=requests.get(url,timeout=15)
  34.     except:
  35.        time.sleep(5)
  36.        page=requests.get(url,timeout=15)
  37.     page.encoding='utf-8'
  38.     page=page.text
  39.     page
  40.     p_content=re.compile(r"""个性签名:</span>\r\n\t\t\t\t\t\t<a class="f14co2 cu">\r\n\t\t\t\t\t\t\t([\s\S]*?)\t\t\t\t\t\t</a>""")
  41.     content=p_content.findall(page)
  42.     if len(content)>0:
  43.         content_dict[url]=content[0]
  44.     print(url)
  45.     count+=1
  46.     print(count)
  47.    
  48. len(content_dict)  
  49. result=''
  50. count=0
  51. for i in content_dict.values():
  52.     if i!='保险是晴天的一把伞,是汽车的安全带':
  53.         result=result+i
  54.         count=count+1
  55.         print(count)
  56. result
复制代码



#词云图代码
  1. import matplotlib.pyplot as plt     #数学绘图库  
  2. import jieba               #分词库  
  3. from wordcloud import WordCloud   #词云库  
  4.   
  5. #1、读入txt文本数据  
  6. text = open(r'C:/Users/Administrator/Desktop/保险代理人个性标签.txt',"r").read()  
  7.   
  8. #2、结巴分词,默认精确模式。可以添加自定义词典userdict.txt,然后jieba.load_userdict(file_name) ,file_name为文件类对象或自定义词典的路径  
  9. # 自定义词典格式和默认词库dict.txt一样,一个词占一行:每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒  
  10.   
  11. cut_text= jieba.cut(text)  
  12. result= "/".join(cut_text)#必须给个符号分隔开分词结果来形成字符串,否则不能绘制词云  

  13. #print(result)  
  14. my_wordcloud = WordCloud(font_path='C:/Users/Administrator/Desktop/msyh.ttf').generate(result)

  15. plt.imshow(my_wordcloud)
  16. plt.axis("off")
  17. plt.show()
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表