亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python學習教程:不再造假數據了,可以來試試Faker這個庫

發布時間:2020-08-08 22:01:14 來源:ITPUB博客 閱讀:190 作者:千鋒Python唐小強 欄目:編程語言

今天分享這篇 Python學習教程 絕對是干貨,Faker這個庫的強大,由你說了算!

在做程序開發的時候,我們經常會用到一些測試數據,相信大多數同學是這么來造測試數據的:

test1
test01
test02
測試1
測試2
測試數據1
這是一段測試文本
這是一段很長很長很長的測試文本...

中槍的請舉手。

不僅要自己手動敲這些測試數據,還敲的這么假。那有啥辦法呢?難不成有什么東西能自動給我造點以假亂真的數據啊?你別說,還真有!

Python學習教程:不再造假數據了,可以來試試Faker這個庫

在 Python 中有個神庫,叫做 Faker,它可以自動幫我們來生成各種各樣的看起來很真的”假“數據,讓我們來看看吧!

安裝

首先讓我們來看看這個庫的安裝方法,實際上裝起來非常簡單,使用 pip 安裝即可,Python3 版本的安裝命令如下:

pip3 install faker


安裝好了之后,我們使用最簡單的例子來生成幾個假數據試試:

from faker import Faker
faker = Faker()
print('name:', faker.name())
print('address:', faker.address())
print('text:', faker.text())

首先我們從 faker 這個包里面導入一個 Faker 類,然后將其實例化為 faker 對象,依次調用它的 name、address、text 方法,看下運行效果:

name: Nicholas Wilson
address: 70561 Simmons Road Apt. 893
Lake Raymondville, HI 35240
text: Both begin bring federal space.
Official start idea specific. Able under young fire.
Who show line traditional easy people. Until economic lead event case. Technology college his director style.

看到這里給我們生成了看起來很真的英文姓名、地址、長文本。

但我們是中國人,我們肯定想要生成中文的吧,不用擔心,這個庫對非常多的語言都有支持,當然也包括中文了,具體的支持的語言列表可以見:https://faker.readthedocs.io/en/master/locales.html。

這里幾個比較常見的語言代號列一下:

  • 簡體中文:zh_CN
  • 繁體中文:zh_TW
  • 美國英文:en_US
  • 英國英文:en_GB
  • 德文:de_DE
  • 日文:ja_JP
  • 韓文:ko_KR
  • 法文:fr_FR

那么如果要生成中文,只需要在 Faker 類的第一個參數傳入對應的語言代號即可,例如簡體中文就傳入 zh_CN,所以上面的代碼改寫如下:

from faker import Faker
faker = Faker('zh_CN')
print('name:', faker.name())
print('address:', faker.address())
print('text:', faker.text())

運行結果如下:

name: 何琳
address: 寧夏回族自治區六盤水縣南溪北鎮街f座 912311
text: 經營軟件積分開始次數專業.美國留言一種管理人民解決兩個.支持只有地方一切.
文化目前東西的是不過所以.系統覺得這種為什一下他們.時候以及這樣繼續是一狀態威望.
網站密碼情況.問題一點那個還是.其實過程詳細.
中國歷史環境電話規定.經驗上海控制不要生活.朋友運行項目我們.
以后今天那些使用免費國家加入但是.內容簡介空間次數最大一個.日期通過得到日本北京.

可以看到一段中文的姓名、地址、長文本便生成了。看起來地址是省份、地級市、縣級市、街道是隨機組合的,文本也是一些隨機的詞組合而成的,但其實這樣已經比文章一開頭列的測試數據強太多了。

上面的代碼每次運行得到的結果都是不同的,因為生成的結果都是隨機組合而成的。

Provider

接下來讓我們詳細看下 faker 可以都生成什么類型的數據,具體的可用 API 可以看 https://faker.readthedocs.io/en/master/locales/zh_CN.html,這里面列出來了可用的所有方法。

但打開之后可以發現,這里面多了一個 Provider 對象,那么這個 Provider 是怎么一回事呢?

實際上這個 faker 庫在設計上,為了解耦,將 Provider 對象做成了 Faker 對象的”插件“。Faker 可以添加一個個 Provider 對象,Provider 對象為 Faker 對象提供了生成某項數據的核心實現。就相當于 Faker 對象是一個生成器,它的生成功能依賴于什么呢?依賴于 Provider,是 Provider 提供給了 Faker 對象生成某項數據的能力。

正是因為 Faker 對象內置了一些 Provider 對象,Faker 對象才可以生成剛才所要求的姓名、地址和文本。

那么這時候我們肯定就很好奇了,既然 Faker 對象有生成數據的能力,那么它一定內置了一些默認的 Provider 對象,下面我們來打印看一下:

from faker import Faker
faker = Faker('zh_CN')
print(faker.providers)

運行結果如下:

[<faker.providers.user_agent.Provider object at 0x10249de48>, <faker.providers.ssn.zh_CN.Provider object at 0x10249dc18>, <faker.providers.python.Provider object at 0x10249dd68>, <faker.providers.profile.Provider object at 0x10249dcc0>, <faker.providers.phone_number.zh_CN.Provider object at 0x10249dc88>, <faker.providers.person.zh_CN.Provider object at 0x10249de80>, <faker.providers.misc.Provider object at 0x10249df60>, <faker.providers.lorem.zh_CN.Provider object at 0x10249dc50>, <faker.providers.job.zh_CN.Provider object at 0x10249de10>, <faker.providers.isbn.Provider object at 0x10249c6d8>, <faker.providers.internet.zh_CN.Provider object at 0x10249c828>, <faker.providers.geo.en_US.Provider object at 0x102484748>, <faker.providers.file.Provider object at 0x102484828>, <faker.providers.date_time.en_US.Provider object at 0x1023789e8>, <faker.providers.currency.Provider object at 0x102484780>, <faker.providers.credit_card.Provider object at 0x1024845f8>, <faker.providers.company.zh_CN.Provider object at 0x102499ef0>, <faker.providers.color.en_US.Provider object at 0x1023532e8>, <faker.providers.barcode.Provider object at 0x101cb6d30>, <faker.providers.bank.en_GB.Provider object at 0x102378f98>, <faker.providers.automotive.en_US.Provider object at 0x1017a5c50>, <faker.providers.address.zh_CN.Provider object at 0x101787c18>]


還真不少,通過名字可以看到有 user_agent、phone_number、isbn、credit_card 等 Provider,其中具有語言差異化的 Provider 還單獨區分了語言,比如 phone_number 代表電話號碼,這個不同語言的不同,所以這里就又分了一層 zh_CN,作了語言的區分。

這樣一來,通用的 Provider 就直接處在某個 Provider 類別的模塊中,具有語言差異的 Provider 就又根據不同的語言進一步劃分了模塊,設計上非常科學,易擴展又不冗余。

知道了 Faker 具有這么多 Provider 之后,我們來看看剛才調用的 name、address 等方法又和 Provider 有什么關系呢?

我們將 name、address、text 等方法打印一下看看:

from faker import Faker
faker = Faker('zh_CN')
print('name:', faker.name)
print('address:', faker.address)
print('text:', faker.text)

注意這里沒有調用,而是直接打印了這三個方法,這樣可以直接輸出方法的對象形式的描述,結果如下:

name: <bound method Provider.name of <faker.providers.person.zh_CN.Provider object at 0x10f6dea58>>
address: <bound method Provider.address of <faker.providers.address.zh_CN.Provider object at 0x10e9e6cf8>>
text: <bound method Provider.text of <faker.providers.lorem.zh_CN.Provider object at 0x10f6dfda0>>

恍然大悟,原來我們調用的方法就是 Faker 對象調用的 Provider 里面的對應方法,比如 name 就是 faker.providers.person.zh_CN.Provider 里面的 name 方法,二者是一致的,我們扒一扒源碼驗證下,源碼在:https://github.com/joke2k/faker/blob/master/faker/providers/person/init.py,果不其然,里面定義了 name 方法,然后 Faker 動態地將這個方法引入進來了,就可以使用了。

方法列舉

既然有這么多 Provider,下面我們再詳細地看看還有哪些常用的方法吧,下面進行一部分簡單的梳理,參考來源文檔地址為:

https://faker.readthedocs.io/en/master/providers.html。

Address

Address,用于生成一些和地址相關的數據,如地址、城市、郵政編碼、街道等內容, 用法如下:

faker.address()
# '新疆維吾爾自治區杰縣南湖武漢街D座 253105'
faker.building_number()
# 'B座'
faker.city()
# '璐縣'
faker.city_name()
# '貴陽'
faker.city_suffix()
# '縣'
faker.country()
# '阿拉斯加'
faker.country_code(representation="alpha-2")
# 'CR'
faker.district()
# '西峰'
faker.postcode()
# '726749'
faker.province()
# '福建省'
faker.street_address()
# '余路N座'
faker.street_name()
# '李路'
faker.street_suffix()
# '路'

Color

Color,用于生成和顏色相關的數據,如 HEX、RGB、RGBA 等格式的顏色,用法如下:

faker.color_name()
# 'DarkKhaki'
faker.hex_color()
# '#97d14e'
faker.rgb_color()
# '107,179,51'
faker.rgb_css_color()
# 'rgb(20,46,70)'
faker.safe_color_name()
# 'navy'
faker.safe_hex_color()
# '#dd2200'

Company

Company,用于生成公司相關數據,如公司名、公司前綴、公司后綴等內容,用法如下:

faker.bs()
# 'grow rich initiatives'
faker.catch_phrase()
# 'Self-enabling encompassing function'
faker.company()
# '恒聰百匯網絡有限公司'
faker.company_prefix()
# '暉來計算機'
faker.company_suffix()
# '信息有限公司'

Credit Card

Credit Card,用于生成信用卡相關數據,如過期時間、銀行卡號、安全碼等內容,用法如下:

faker.credit_card_expire(start="now", end="+10y", date_format="%m/%y")
# '08/20'
faker.credit_card_full(card_type=None)
# 'Mastercard\n玉蘭 范\n5183689713096897 01/25\nCVV: 012\n'
faker.credit_card_number(card_type=None)
# '4009911097184929918'
faker.credit_card_provider(card_type=None)
# 'JCB 15 digit'
faker.credit_card_security_code(card_type=None)
# '259'

Date Time

Date Time,用于生成時間相關數據,如年份、月份、星期、出生日期等內容,可以返回 datetime 類型的數據,用法如下:

faker.am_pm()
# 'AM'
faker.century()
# 'X'
faker.date(pattern="%Y-%m-%d", end_datetime=None)
# '1997-06-16'
faker.date_between(start_date="-30y", end_date="today")
# datetime.date(2000, 8, 30)
faker.date_between_dates(date_start=None, date_end=None)
# datetime.date(2019, 7, 30)
faker.date_object(end_datetime=None)
# datetime.date(1978, 3, 12)
faker.date_of_birth(tzinfo=None, minimum_age=0, maximum_age=115)
# datetime.date(2012, 6, 3)
faker.date_this_century(before_today=True, after_today=False)
# datetime.date(2011, 6, 12)
faker.date_this_decade(before_today=True, after_today=False)
# datetime.date(2011, 8, 22)
faker.date_this_month(before_today=True, after_today=False)
# datetime.date(2019, 7, 25)
faker.date_this_year(before_today=True, after_today=False)
# datetime.date(2019, 7, 22)
faker.date_time(tzinfo=None, end_datetime=None)
# datetime.datetime(2018, 8, 11, 22, 3, 34)
faker.date_time_ad(tzinfo=None, end_datetime=None, start_datetime=None)
# datetime.datetime(1566, 8, 26, 16, 25, 30)
faker.date_time_between(start_date="-30y", end_date="now", tzinfo=None)
# datetime.datetime(2015, 1, 31, 4, 14, 10)
faker.date_time_between_dates(datetime_start=None, datetime_end=None, tzinfo=None)
# datetime.datetime(2019, 7, 30, 17, 51, 44)
faker.date_time_this_century(before_now=True, after_now=False, tzinfo=None)
# datetime.datetime(2002, 9, 25, 23, 59, 49)
faker.date_time_this_decade(before_now=True, after_now=False, tzinfo=None)
# datetime.datetime(2010, 5, 25, 20, 20, 52)
faker.date_time_this_month(before_now=True, after_now=False, tzinfo=None)
# datetime.datetime(2019, 7, 19, 18, 4, 6)
faker.date_time_this_year(before_now=True, after_now=False, tzinfo=None)
# datetime.datetime(2019, 3, 15, 11, 4, 18)
faker.day_of_month()
# '04'
faker.day_of_week()
# 'Monday'
faker.future_date(end_date="+30d", tzinfo=None)
# datetime.date(2019, 8, 12)
faker.future_datetime(end_date="+30d", tzinfo=None)
# datetime.datetime(2019, 8, 24, 2, 59, 4)
faker.iso8601(tzinfo=None, end_datetime=None)
# '1987-07-01T18:33:56'
faker.month()
# '11'
faker.month_name()
# 'August'
faker.past_date(start_date="-30d", tzinfo=None)
# datetime.date(2019, 7, 25)
faker.past_datetime(start_date="-30d", tzinfo=None)
# datetime.datetime(2019, 7, 18, 22, 46, 51)
faker.time(pattern="%H:%M:%S", end_datetime=None)
# '16:22:30'
faker.time_delta(end_datetime=None)
# datetime.timedelta(0)
faker.time_object(end_datetime=None)
# datetime.time(22, 12, 15)
faker.time_series(start_date="-30d", end_date="now", precision=None, distrib=None, tzinfo=None)
# <generator object Provider.time_series at 0x7fcbce0604f8>
faker.timezone()
# 'Indian/Comoro'
faker.unix_time(end_datetime=None, start_datetime=None)
# 1182857626
faker.year()
# '1970'

File

File,用于生成文件和文件路徑相關的數據,包括文件擴展名、文件路徑、MIME_TYPE、磁盤分區等內容,用法如下:

faker.file_extension(category=None)
# 'flac'
faker.file_name(category=None, extension=None)
# '然后.numbers'
faker.file_path(depth=1, category=None, extension=None)
# '/關系/科技.mov'
faker.mime_type(category=None)
# 'video/ogg'
faker.unix_device(prefix=None)
# '/dev/sdd'
faker.unix_partition(prefix=None)
# '/dev/xvds3'

Geo

Geo,用于生成和地理位置相關的數據,包括經緯度,時區等等信息,用法如下:

faker.coordinate(center=None, radius=0.001)
# Decimal('-114.420686')
faker.latitude()
# Decimal('-9.772541')
faker.latlng()
# (Decimal('-27.0730915'), Decimal('-5.919460'))
faker.local_latlng(country_code="US", coords_only=False)
# ('41.47892', '-87.45476', 'Schererville', 'US', 'America/Chicago')
faker.location_on_land(coords_only=False)
# ('12.74482', '4.52514', 'Argungu', 'NG', 'Africa/Lagos')
faker.longitude()
# Decimal('40.885895')

Internet

Internet,用于生成和互聯網相關的數據,包括隨機電子郵箱、域名、IP 地址、URL、用戶名、后綴名等內容,用法如下:

faker.ascii_company_email(*args, **kwargs)
# 'xuna@xiaqian.cn'
faker.ascii_email(*args, **kwargs)
# 'min59@60.cn'
faker.ascii_free_email(*args, **kwargs)
# 'min75@gmail.com'
faker.ascii_safe_email(*args, **kwargs)
# 'cliu@example.com'
faker.company_email(*args, **kwargs)
# 'ilong@99.cn'
faker.domain_name(levels=1)
# 'xiulan.cn'
faker.domain_word(*args, **kwargs)
# 'luo'
faker.email(*args, **kwargs)
# 'maoxiulan@hotmail.com'
faker.free_email(*args, **kwargs)
# 'yanshen@gmail.com'
faker.free_email_domain(*args, **kwargs)
# 'yahoo.com'
faker.hostname(*args, **kwargs)
# 'lt-18.pan.cn'
faker.image_url(width=None, height=None)
# 'https://placekitten.com/51/201'
faker.ipv4(network=False, address_class=None, private=None)
# '192.233.68.5'
faker.ipv4_network_class()
# 'a'
faker.ipv4_private(network=False, address_class=None)
# '10.9.97.93'
faker.ipv4_public(network=False, address_class=None)
# '192.51.22.7'
faker.ipv6(network=False)
# 'de57:9c6f:a38c:9864:10ec:6442:775d:5f02'
faker.mac_address()
# '99:80:5c:ab:8c:a9'
faker.safe_email(*args, **kwargs)
# 'tangjuan@example.net'
faker.slug(*args, **kwargs)
# ''
faker.tld()
# 'cn'
faker.uri()
# 'http://fangfan.org/app/tag/post/'
faker.uri_extension()
# '.php'
faker.uri_page()
# 'about'
faker.uri_path(deep=None)
# 'app'
faker.url(schemes=None)
# 'http://mingli.cn/'
faker.user_name(*args, **kwargs)
# 'jie54'

Job

Job,用于生成和職業相關的數據,用法如下:

faker.job()
# '燙工'

Lorem

Lorem,用于生成一些假文字數據,包括句子、自然段、長文本、關鍵詞等,另外可以傳入不同的參數來控制生成的長度,用法如下:

faker.paragraph(nb_sentences=3, variable_nb_sentences=True, ext_word_list=None)
# '包括的是報告那些一點.圖片地址基本全部.'
faker.paragraphs(nb=3, ext_word_list=None)
# [ '計劃規定這樣所以組織商品其中.參加成為不同發表地區.精華科技謝謝大家需要.一下手機上海中文工程.',
# '非常相關是一就是一個一種文章發生.增加那些以及之后以下你的.',
# '學生應該出來分析增加關系組織.評論來源朋友注冊應該需要單位.感覺最后無法發現選擇人民.']
faker.sentence(nb_words=6, variable_nb_words=True, ext_word_list=None)
# '介紹結果自己解決處理.'
faker.sentences(nb=3, ext_word_list=None)
# ['查看其實一次學習登錄瀏覽是一他們.', '而且資源的人事情.', '科技價格免費大學教育.']
faker.text(max_nb_chars=200, ext_word_list=None)
# ('只是當前國內中文所以.威望系統在線雖然.\n'
# '圖片人民非常合作這種謝謝更新.名稱詳細直接社會一直首頁完全.\n'
# '重要更多只要市場.必須只是學生音樂.系統美國類別這些一切環境.\n'
# '但是的話人民美國關于.\n'
# '情況專業國際看到研究.音樂環境市場搜索發現.\n'
# '工具還是到了今天位置人民.留言作者品牌工程項目必須.上海精華現在我們新聞應該關系.\n'
# '更新經濟能力全部資源如果.手機能夠登錄國內.')
faker.texts(nb_texts=3, max_nb_chars=200, ext_word_list=None)
# [ '成功可能推薦你的行業.地區而且推薦.\n'
# '網絡不斷是一主要必須.開始安全服務.\n'
# '應該網上通過以后通過大學.管理要求有關國際閱讀當前.為了應該結果點擊公司開始怎么.\n'
# '成功一次最大生產網站.這種加入她的地址有限.\n'
# '根據新聞汽車起來非常主題顯示必須.有些建設來自作者電話支持.\n'
# '只是資源還是由于經濟事情喜歡.為什中文大小得到服務.網絡密碼是否免費參加一次社區歡迎.',
# '部門活動技術.商品影響發生行業密碼完成.就是部門結果資料學習當然.或者幫助城市要求首頁市場教育你們.\n'
# '專業完全分析處理城市大學什么.\n'
# '文件非常國際全部起來積分公司.資料的是電影沒有.這是本站需要.\n'
# '合作重要沒有現在市場開發空間.您的會員推薦成功教育進行中國.\n'
# '文件不是如果評論.因為經驗設備規定.\n'
# '加入一起影響網上大家運行在線如果.工程企業這種以后.',
# '空間市場出現必須基本電話.顯示一個標準其他設計作品.工程不斷新聞問題更多更新這么.\n'
# '一起簡介網上內容不會.任何知道各種兩個.類別事情經營那么投資市場.\n'
# '那些使用介紹公司朋友人民你們瀏覽.應該表示一點一般說明主要謝謝.電話回復起來經驗一個來源加入.\n'
# '地區法律其他表示雖然.參加社會喜歡有限論壇一般發布.類別目前文化可以.\n'
# '報告質量工作主要.企業發布完全.得到名稱作者等級兩個論壇只要電話.']
faker.word(ext_word_list=None)
# '注意'
faker.words(nb=3, ext_word_list=None, unique=False)
# ['責任', '組織', '以后']
在這里每個方法的參數是不同的,具體的參數解釋可以見源代碼每個方法的注釋:https://github.com/joke2k/faker/blob/master/faker/providers/lorem/__init__.py,

Misc

Misc,用于生成生成一些混淆數據,比如密碼、sha1、sha256、md5 等加密后的內容,用法如下:

faker.boolean(chance_of_getting_true=50)
# True
faker.md5(raw_output=False)
# '3166fa26ffd3f2a33e020dfe11191ac6'
faker.null_boolean()
# False
faker.password(length=10, special_chars=True, digits=True, upper_case=True, lower_case=True)
# 'W7Ln8La@%O'
faker.sha1(raw_output=False)
# 'c8301a2a79445439ee5287f38053e4b3a05eac79'
faker.sha256(raw_output=False)
# '1e909d331e20cf241aaa2da894deae5a3a75e5cdc35c053422d9b8e7ccfa0402'
faker.uuid4(cast_to=<class 'str'>)
# '6e6fe387-6877-48d9-94ea-4263c4c71aa5'

Person

Person,用于生成和人名相關的數據,包括姓氏、名字、全名、英文名等內容,還能區分男女名字,用法如下:

faker.first_name()
# '穎'
faker.first_name_female()
# '芳'
faker.first_name_male()
# '利'
faker.first_romanized_name()
# 'Jing'
faker.last_name()
# '溫'
faker.last_name_female()
# '寇'
faker.last_name_male()
# '陳'
faker.last_romanized_name()
# 'Lei'
faker.name()
# '黃明'
faker.name_female()
# '張凱'
faker.name_male()
# '黃鵬'

User-Agent

User-Agent,用于生成和瀏覽器 User-Agent 相關的內容,可以定制各種瀏覽器,還可以傳入版本信息來控制生成的內容,用法如下:

faker.chrome(version_from=13, version_to=63, build_from=800, build_to=899)
# ('Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/5332 (KHTML, like Gecko) '
# 'Chrome/40.0.837.0 Safari/5332')
faker.firefox()
# ('Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_8_9; rv:1.9.4.20) '
# 'Gecko/2019-05-02 05:58:44 Firefox/3.6.19')
faker.internet_explorer()
# 'Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/3.0)'
faker.linux_platform_token()
# 'X11; Linux i686'
faker.linux_processor()
# 'x86_64'
faker.mac_platform_token()
# 'Macintosh; U; PPC Mac OS X 10_12_5'
faker.mac_processor()
# 'U; Intel'
faker.opera()
# 'Opera/9.77.(Windows NT 4.0; vi-VN) Presto/2.9.182 Version/11.00'
faker.safari()
# ('Mozilla/5.0 (Macintosh; PPC Mac OS X 10_7_1 rv:5.0; or-IN) '
# 'AppleWebKit/535.9.4 (KHTML, like Gecko) Version/5.0.2 Safari/535.9.4')
faker.user_agent()
# 'Opera/8.69.(X11; Linux i686; ml-IN) Presto/2.9.170 Version/11.00'
faker.windows_platform_token()
# 'Windows NT 6.1'

其他 Provider

另外還有一些社區貢獻的 Provider,如 WiFi、微服務相關的,大家可以查看文檔的說明,另外需要額外安裝這些擴展包并自行添加 Provider。

添加 Provider 需要調用 add_provider 方法,用法示例如下:

from faker import Faker
from faker.providers import internet
faker = Faker()
faker.add_provider(internet)
print(faker.ipv4_private())


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

济源市| 定陶县| 杂多县| 广宗县| 虹口区| 萍乡市| 溧水县| 昌乐县| 仪陇县| 西峡县| 岳西县| 翁牛特旗| 武威市| 清涧县| 多伦县| 旅游| 永吉县| 道孚县| 安庆市| 安陆市| 中宁县| 宜兰市| 平度市| 连州市| 石屏县| 绵竹市| 封开县| 香格里拉县| 杂多县| 理塘县| 开封县| 固安县| 哈密市| 治县。| 阜城县| 乐至县| 胶州市| 乌拉特后旗| 秀山| 邵东县| 五家渠市|