pythontitle
⑴ python繪圖如何顯示中文標題
plt.title('標題')
會顯示不出中文
原因是標題默認輸出英文,如果輸出中文,要對字體進行調整。需要在程序定義前輸入:
#解決中文顯示問題
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
⑵ Python提取網頁鏈接和標題
#coding=utf-8
importurllib
url="http://www..com/"
title=""
flag="<title>"
res=urllib.urlopen(url).readlines()
forlineinres:
ifflaginline:
start=line.find(flag)
end=line.find("</title>")
title=line[start+len(flag):end]
break
print"標題:",title
鏈接你自己對著標題的處理方法改改就行了
⑶ Python中字元串常用操作有哪些
字元串是 Python
中常用的數據類型,我們可以使用引號('或")來創建字元串,對字元串進行使用和操作,需要用到特定的函數,以下是常用的Python字元串操作方法:
1. capitalize()
作用:capitalize() 主要是用來實現字元串首字母大寫,其他字母小寫的功能。
實例:
1
2str1 = "oldboy"
print(str1.capitalize())
輸出結果:Oldboy
2. swapcase()
作用:swapcase() 主要是用來實現字元串大小寫反轉。
實例:
1
2str1 = " Oldboy"
print(str1.swapcase())
輸出結果:oLDBOY
3. title()
作用:title() 主要是用來實現字元串非字母隔開的部分,首字母大寫,其餘字母小寫。
實例:
1
2str1 = "Old boy e com"
print(str1.title())
輸出結果:Old Boy E Com
4. upper()
作用:upper() 主要是用來實現字元串所有字母全部大寫。
實例:
1
2str1 = "Oldboye"
print(str1.upper())
輸出結果:OLDBOYEDU
5. lower()
作用:lower() 主要是用來實現字元串所有字母全部小寫。
實例:
1
2str1 = "oLDBOYEDU"
print(str1.lower())
輸出結果:oldboye
6. center()
作用:center() 主要是用來實現字元串內容居中,填充物默認為空。
實例:
1
2
3str1 = "Oldboye"
print(str1.center(15))
print(str1.center(15,"*"))
輸出結果:
Oldboye
***Oldboye***
7. find()
作用:find() 主要作用是通過元素找索引,可以整體找,可以切片,找不到則返回-1。
實例:
1
2
3str1 = "Oldboye"
print(str1.find('b'))
print(str1.find('A'))
輸出結果:3 -1
8. index()
作用:index() 主要作用是通過元素找索引,可以整體找,可以切片,找不到會報錯。
實例:
1
2
3str1 = " Oldboye "
print(str1.index("b"))
print(str1.index("A"))
輸出結果:
0
Traceback (most recent call last):
File "", line 1, in
ValueError: substring not found
9. startswith(obj)
作用:startswith(obj) 主要作用是檢查字元串是否是以 obj 開頭,是則返回 True,否則返回 False。
實例:
1
2str1 = "Oldboye"
print(str1.startswith("O"))
輸出結果:True
10. endswith(obj)
作用:endswith(obj) 主要作用是檢查字元串是否是以 obj 開頭,是則返回 True,否則返回 False。
實例:
1
2str1 = " Oldboye "
print(str1.endswith("e"))
輸出結果:True
11. strip()
作用:strip() 主要作用是去除字元串前後兩端的空格或其他字元、換行符、tab鍵等。
實例:
1
2
3
4str1 = "***Oldboy***"
print(str1.strip("*")) #去除兩邊的*
print(str1.lstrip("*")) #去除左邊的*
print(str1.rstrip("*")) #去除右邊的*
輸出結果:
Oldboy
Oldboy***
***Oldboy
12. replace(oldstr, newstr)
作用:replace(oldstr, newstr)主要作用是替換字元串。
實例:
1
2str1 = "Oldboye"
print(str1.replace("boy","man"))
輸出結果:Oldmane
13. isalpha()
作用:isalpha()主要作用是要判斷字元串是否只由字母組成,是返回Ture,否返回False。
實例:
1
2
3
4str1 = "Oldboye"
str2 = 「Old boy e」
print(str1.isalpha())
print(str2.isalpha())
輸出結果:True False
14. isdigit()
作用:isdigit()主要作用是判斷字元串是否只由數字組成,是返回Ture,否返回False。
實例:
1
2
3
4str1 = "Oldboye"
str2 = 「520」
print(str1.isdigit())
print(str2.isdigit())
輸出結果:False True
15. format()
作用:format()主要作用是格式化字元串。
方式一:按位置傳參
1
2str1 = '我叫{},今年{}歲'.format('oldboy',30)
print(str1)
輸出結果:我叫oldboy,今年30歲
方式二:按索引傳參
1
2str1 = '我叫{0},今年{1}歲'.format('oldboy',30)
print(str1)
輸出結果:我叫oldboy,今年30歲
方式三:按key傳參
1
2str1 = '我叫{name},今年{age}歲'.format(age=30,name='oldboy')
print(str1)
輸出結果:我叫oldboy,今年30歲
16. count()
作用:count()主要作用是統計元素在字元串出現的次數。
1
2str1 = "oldboye"
print(str1.count(『o』)) #統計字元o在字元串中出現的次數
數據結果:2
⑷ Python繪圖如何顯示中文標題
採用matplotlib作圖時默認設置下是無法顯示中文的,例如編寫如下python腳本,
#-*- coding: utf-8 -*-
from pylab import *
t = arange(-4*pi, 4*pi, 0.01)
y = sin(t)/t
plt.plot(t, y)
plt.title(u'鍾形函數')
plt.xlabel(u'時間')
plt.ylabel(u'幅度')
plt.show()
顯示出來的結果如圖1所示,可見標題、標簽都無法正常顯示中文:
圖1
實際上,matplotlib是支持unicode編碼的,出現圖1的問題主要是沒有找到合適的中文字體,在matplotlib的配置文件中,可以看到字體的默認設置如下:
#font.family : sans-serif
#font.sans-serif : Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
並沒有中文字體,所以我們只要手動添加中文字體的名稱就可以了,不過並不是添加我們熟悉的「宋體」或「黑體」這類的名稱,而是要添加字體管理器識別出的字體名稱,matplotlib自身實現的字體管理器在文件font_manager.py中,自動生成的可用字體信息在保存在文件fontList.cache里,可以搜索這個文件查看對應字體的名稱,例如simhei.ttf對應的名稱為』SimHei』,simkai.ttf對應的名稱為』KaiTi_GB2312』等。因此我們只要把這些名稱添加到配置文件中去就可以讓matplotlib顯示中文,修改的方法有兩種:
1. 直接修改配置文件matplotlibrc
在配置文件中找到font.sans-serif的設置,然後添加需要的中文字體名稱,例如:
font.sans-serif : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
2. 動態設置(推薦方式)
在python腳本中動態設置matplotlibrc,這樣不需要更改配置文件,方便靈活,例如:
mpl.rcParams['font.sans-serif'] = ['SimHei']
修改後的代碼如下:
#-*- coding: utf-8 -*-
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
t = arange(-4*pi, 4*pi, 0.01)
y = sin(t)/t
plt.plot(t, y)
plt.title(u'鍾形函數')
plt.xlabel(u'時間')
plt.ylabel(u'幅度')
plt.show()
顯示出來的結果如圖2所示,可見標題、標簽都能正常顯示中文:
圖2
但是細心些可以看出圖2顯示的結果並不正確,注意對比圖1和圖2的橫坐標的坐標值,會發現圖2中負軸的橫坐標值不對,負號不見了!很明顯,這不是程序的錯誤,而是由於更改了字體導致顯示不出負號,在配置文件中我們可以在axes相關設置里找到如下設置:
#axes.unicode_minus : True
可見默認情況下採用的是unicode的minus,看來我們選擇的字體對這點支持不夠,所以只要把它設置為False就可以了,最終的代碼如下:
#-*- coding: utf-8 -*-
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
t = arange(-4*pi, 4*pi, 0.01)
y = sin(t)/t
plt.plot(t, y)
plt.title(u'鍾形函數')
plt.xlabel(u'時間')
plt.ylabel(u'幅度')
plt.show()
最終顯示的結果如圖3所示,一切都正常了。
⑸ python3 獲取title的編寫
水平有限,不會造輪子,只為學習。
在原來寫埠掃描的基礎上進一步爬取web服務的title信息,方便收集信息。
適用於在外網收集資產形成IP字典後去批量獲取title,意在最快地尋找脆弱點。
自行安裝BeautifulSoup4、requests庫。
V1.0
python3 寫的單線程爬取web系統的title信息。
註解
1.使用BeautifulSoup4庫來解析HTML,爬取title信息;
2.列印title時,帶有顏色的輸出;
3.在開放443、4433、8443埠時,採用https進行訪問;
4.解決SSL認證問題;
V1.0.1
python3 單線程寫的爬取網站title信息。增加了OptionParser模塊,運行時看起來比較舒服。
註解
1.依然是從IP字典里爬取,實際運行腳本時,即使沒有獲取title,也應該手動訪問開放的埠,往往有意外驚喜;
2.埠內置在腳本里,可自行修改;
V1.1
python3寫的多線程爬取web系統的title。
註解
1.只是使用threading模塊,沒有添加到隊列,也沒有加鎖;本身port_list也不多;
V1.2
python3 寫的多線程加隊列的來爬取web系統的title信息。
註解
1.增加了queue隊列,和多線程配合使用。更加實用;
V1.3
python3 寫的多線程加隊列的來爬取web系統的title信息。
增加result輸出結果到文本,適應於內外網埠掃描並獲取title
python3 編寫掃描IP網段如192.168.1.0/24某些指定應用埠爬取title信息。 在代理進行內網滲透時內網資產不容易找到。
適用於內網、外網環境。
自行安裝BeautifulSoup4、requests庫。
V2.0
python3寫的掃描IP段並爬取title信息,收集資產。
註解
1.使用ipaddress模塊獲取C段地址,也可以是B段;
2.只使用threading模塊,沒有添加隊列queue;
V2.1
python3 寫的多線程掃描IP段爬取title。在一定線程下,代理探測內網資產title的非常使用。
註解
1.port_list列表移動到scan方法里;
2.將IP添加到queue隊列,而不是埠;
V2.2
python3 寫的多線程掃描IP段爬取title。
註解
1.只是增加了result_out方法,將結果輸出到指定文件;
https://github.com/aedoo/WebServiceScanner/blob/master/webservicescanner.py
⑹ python根據一個隨機url鏈接獲取該鏈接中的title
import requests, re
req = requests.get(url)
title=re.findall('<title>(.+)</title>',req)
print (title)
望採納!