標籤:部分 網上 產生 load xsd 網址 函數 pytho net
最近需要造一部分資料,需要用到人名,與其用指令碼產生一些隨機組合的漢字,不如在網上爬一些看似真實的姓名,所以找來了姓氏大全的網站,網址: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)
Python 批量產生中文姓名(百家姓)