关键词词云怎么做_制作CVPR 热词云(并爬取pdf地址 名称)
#!/usr/bin/python #這里是解釋器位置和python版本#-*- coding: utf-8 -*- #編碼格式
"""@author: CuiXingYu
@contact: a15931829662@163.com
@software: PyCharm
@file: CVPR.py
@time: 2020/4/17 19:36"""
importreimportrequestsimportpymysqldefget_context(url):"""params:
url: link
return:
web_context"""web_context=requests.get(url)returnweb_context.textdefget_conn():"""建立數據庫連接
:return:"""conn=pymysql.connect(#本機IP地址
host='127.0.0.1',#數據庫用戶名
user='root',#密碼
password='101032',#需要操作的數據庫名稱
db='db_database07',
)#cursor對象 可以進行sql語句執行 和 獲得返回值
cursor=conn.cursor()returnconn,cursordefclose_conn(conn,cursor):"""關閉連接
:param conn: 連接對象
:param cursor: cursor對象
:return:"""
ifcursor:
cursor.close()ifconn:
conn.close()defget_name():"""獲取論文的名字 url 地址
:return:"""conn,cursor=get_conn()
url= 'http://openaccess.thecvf.com//CVPR2019.py'web_context=get_context(url)#find paper files
'''(?<=href=\"): 尋找開頭,匹配此句之后的內容
.+: 匹配多個字符(除了換行符)
?pdf: 匹配零次或一次pdf
(?=\">pdf): 以">pdf" 結尾
|: 或'''info=[]#link pattern: href="***_CVPR_2019_paper.pdf">pdf
link_list = re.findall(r"(?<=href=\").+?pdf(?=\">pdf)|(?<=href=\').+?pdf(?=\">pdf)", web_context)#name pattern: ***
name_list = re.findall(r"(?<=2019_paper.html\">).+(?=)", web_context)for one,two inzip(name_list,link_list):
info.append([one,two])#sql語句 對數據庫進行操作
sql = "insert into paperinfo(name,url) values(%s,%s)"
try:#執行sql語句
cursor.executemany(sql,info)
conn.commit()except:
conn.rollback()
close_conn(conn, cursor)defsaveContent_list(hotword ,number):"""插入數據庫
:param hotword: 單詞
:param number: 數量
:return:"""
#打開數據庫連接(ip/數據庫用戶名/登錄密碼/數據庫名)
conn,cursor=get_conn()
sql="insert into hotword (hotword,number) values (%s,%s)"val=(hotword,number)
cursor.execute(sql,val)#使用 fetchone() 方法獲取數據.
conn.commit()#關閉數據庫連接(別忘了)
conn.close()defget_hotword():"""爬取熱詞并統計數目
:return:"""url= 'http://openaccess.thecvf.com//CVPR2019.py'web_context=get_context(url)
name_list= re.findall(r"(?<=2019_paper.html\">).+(?=)", web_context)
text= " "
for word inname_list:
text= text +word
word=text.split()
word_dict={}for w inword:if w not inword_dict:
word_dict[w]= 1
else:
word_dict[w]= word_dict[w] + 1a= sorted(word_dict.items(), key=lambda item: item[1], reverse=True)#sql語句 對數據庫進行操作
for x ina:try:
word=x[0]
num=x[1]
saveContent_list(word,num)except:print("失敗")
get_hotword()
get_name()
總結
以上是生活随笔為你收集整理的关键词词云怎么做_制作CVPR 热词云(并爬取pdf地址 名称)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10 mysql 远程连接_win
- 下一篇: 扬州仪征的翔鸿绿色配送是什么公司的地方?