Python 批量生成中文姓名(百家姓)


  最近需要造一部分數據,需要用到人名,與其用腳本生成一些隨機組合的漢字,不如在網上爬一些看似真實的姓名,所以找來了姓氏大全的網站,網址:http://www.resgain.net/xsdq.html

上圖可以看到有很多不同的姓氏,每個姓氏(又是一個網頁)里邊有很多名字,這樣輕輕松松就可以搞定一些真實的數據了,

此時只需要獲取名字即可。

  用到的庫有urllib2 bs4,首先就是用urllib2獲取請求,然后用beautifulsoup將請求內容生成可分析對象,然后查找標簽即可,很簡單,上代碼好了。

# -*- coding: utf-8 -*-

import urllib2
import sys
from bs4 import BeautifulSoup
reload(sys)
sys.setdefaultencoding("utf-8")

def get_name(url):
name_list = []
request = urllib2.Request(url) # 創建對名字大全網站get請求
result = urllib2.urlopen(request) # 發出請求
soup = BeautifulSoup(result.read(), 'html.parser') # 生成可分析對象
if soup.find_all("a",class_="btn btn2"):
for name in soup.find_all("a",class_="btn btn2")[:15]: # 遍歷所有的姓氏鏈接,此處只獲取前15個姓氏
url = 'http:' + name.attrs['href'] #找到姓氏鏈接,再次返回此函數
get_name(url)
elif soup.find_all('a',class_='btn btn-link'):
for name in soup.find_all('a',class_='btn btn-link')[:10]: #找到不同姓氏的名字,此處只獲取每個姓氏的前10個
name_list.append(name.text)
# print name.text

return name_list



if __name__ == '__main__':
url = "http://www.resgain.net/xsdq.html"
get_name(url)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM