Python基礎教程:破解驗證碼技術,識别率高達百分之80!

時間:2019-08-08 來源: 曆史
?

  本文将展示如何利用Python爬蟲來實現詩歌接龍。

  該項目的思路如下:

  利用爬蟲爬取詩歌,制作詩歌語料庫;

  将詩歌分句,形成字典:鍵(key)為該句首字的拼音,值(value)為該拼音對應的詩句,并将字典保存為pickle文件;

  讀取pickle文件,編寫程序,以exe文件形式運行該程序。

  大家在學python的時候肯定會遇到很多難題,以及對于新技術的追求,這裡推薦一下我們的Python學習扣qun:784758214,這裡是python學習者聚集地!!同時,自己是一名高級python開發工程師,從基礎的python腳本到web開發、爬蟲、django、數據挖掘等,零基礎到項目實戰的資料都有整理。送給每一位python的小夥伴!每日分享一些學習的方法和需要注意的小細節

  該項目實現的詩歌接龍,規則為下一句的首字與上一句的尾字的拼音(包括聲調)一緻。下面将分步講述該項目的實現過程。

  首先,我們利用Python爬蟲來爬取詩歌,制作語料庫。爬取的網址為:https://www.gushiwen.org,頁面如下:

  

  由于本文主要為試了展示該項目的思路,因此,隻爬取了該頁面中的唐詩三百首、古詩三百、宋詞三百、宋詞精選,一共大約1100多首詩歌。為了加速爬蟲,采用并發實現爬蟲,并保存到poem.txt文件。完整的Python程序如下:

  該程序爬取了1100多首詩歌,并将詩歌保存至poem.txt文件,形成我們的詩歌語料庫。當然,這些詩歌并不能直接使用,需要清理數據,比如有些詩歌标點不規範,有些并不是詩歌,隻是詩歌的序等等,這個過程需要人工操作,雖然稍顯麻煩,但為了後面的詩歌分句效果,也是值得的。

  有了詩歌語料庫,我們需要對詩歌進行分句,分句的标準為:按照結尾為。?!進行分句,這可以用正則表達式實現。之後,将分句好的詩歌寫成字典:鍵(key)為該句首字的拼音,值(value)為該拼音對應的詩句,并将字典保存為pickle文件。完整的Python代碼如下:

  我們可以看一下該pickle文件(poemDict.pk)的内容:

  

  image

  當然,一個拼音可以對應多個詩歌。

  讀取pickle文件,編寫程序,以exe文件形式運行該程序。

  為了能夠在編譯形成exe文件的時候不出錯,我們需要改寫xpinyin模塊的init.py文件,将該文件的全部代碼複制至mypinyin.py,并将代碼中的下面這句代碼

  改寫為

  這樣我們就完成了mypinyin.py文件。

  接下來,我們需要編寫詩歌接龍的代碼(Poem_Jielong.py),完整代碼如下:

  現在整個項目的結構如下(Mandarin.dat文件從xpinyin模塊對應的文件夾下複制過來):

  

  image

  切換至該文件夾,輸入以下命令即可生成exe文件:

  生成的exe文件為Poem_jielong.exe,位于該文件夾的dist文件夾下。為了能夠讓exe成功運行,需要将poemDict.pk和Mandarin.dat文件複制到dist文件夾下。

  運行Poem_jielong.exe文件,頁面如下:

  

  image

  本項目的詩歌接龍有兩種模式,一種為人工接龍,就是你先輸入一句詩或一個字,然後就是計算機回複一句,你回複一句,負責詩歌接龍的規則;另一種模式為機器接龍,就是你先輸入一句詩或一個字,機器會自動輸出後面的接龍詩句(最多10個)。

  先測試人工接龍模式:

  

  image

  再測試機器接龍模式:

  

  image

  作者:人生苦短丨我愛python

  鍊接:https://www.jianshu.com/p/04dbefb42310

  來源:簡書

  簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權并注明出處。

  96

  IT白鴿

  2019.08.03 14:15

  字數 1173

  本文将展示如何利用Python爬蟲來實現詩歌接龍。

  該項目的思路如下:

  利用爬蟲爬取詩歌,制作詩歌語料庫;

  将詩歌分句,形成字典:鍵(key)為該句首字的拼音,值(value)為該拼音對應的詩句,并将字典保存為pickle文件;

  讀取pickle文件,編寫程序,以exe文件形式運行該程序。

  大家在學python的時候肯定會遇到很多難題,以及對于新技術的追求,這裡推薦一下我們的Python學習扣qun:784758214,這裡是python學習者聚集地!!同時,自己是一名高級python開發工程師,從基礎的python腳本到web開發、爬蟲、django、數據挖掘等,零基礎到項目實戰的資料都有整理。送給每一位python的小夥伴!每日分享一些學習的方法和需要注意的小細節

  該項目實現的詩歌接龍,規則為下一句的首字與上一句的尾字的拼音(包括聲調)一緻。下面将分步講述該項目的實現過程。

  首先,我們利用Python爬蟲來爬取詩歌,制作語料庫。爬取的網址為:https://www.gushiwen.org,頁面如下:

  

  由于本文主要為試了展示該項目的思路,因此,隻爬取了該頁面中的唐詩三百首、古詩三百、宋詞三百、宋詞精選,一共大約1100多首詩歌。為了加速爬蟲,采用并發實現爬蟲,并保存到poem.txt文件。完整的Python程序如下:

  該程序爬取了1100多首詩歌,并将詩歌保存至poem.txt文件,形成我們的詩歌語料庫。當然,這些詩歌并不能直接使用,需要清理數據,比如有些詩歌标點不規範,有些并不是詩歌,隻是詩歌的序等等,這個過程需要人工操作,雖然稍顯麻煩,但為了後面的詩歌分句效果,也是值得的。

  有了詩歌語料庫,我們需要對詩歌進行分句,分句的标準為:按照結尾為。?!進行分句,這可以用正則表達式實現。之後,将分句好的詩歌寫成字典:鍵(key)為該句首字的拼音,值(value)為該拼音對應的詩句,并将字典保存為pickle文件。完整的Python代碼如下:

  我們可以看一下該pickle文件(poemDict.pk)的内容:

  

  image

  當然,一個拼音可以對應多個詩歌。

  讀取pickle文件,編寫程序,以exe文件形式運行該程序。

  為了能夠在編譯形成exe文件的時候不出錯,我們需要改寫xpinyin模塊的init.py文件,将該文件的全部代碼複制至mypinyin.py,并将代碼中的下面這句代碼

  改寫為

  這樣我們就完成了mypinyin.py文件。

  接下來,我們需要編寫詩歌接龍的代碼(Poem_Jielong.py),完整代碼如下:

  現在整個項目的結構如下(Mandarin.dat文件從xpinyin模塊對應的文件夾下複制過來):

  

  image

  切換至該文件夾,輸入以下命令即可生成exe文件:

  生成的exe文件為Poem_jielong.exe,位于該文件夾的dist文件夾下。為了能夠讓exe成功運行,需要将poemDict.pk和Mandarin.dat文件複制到dist文件夾下。

  運行Poem_jielong.exe文件,頁面如下:

  

  image

  本項目的詩歌接龍有兩種模式,一種為人工接龍,就是你先輸入一句詩或一個字,然後就是計算機回複一句,你回複一句,負責詩歌接龍的規則;另一種模式為機器接龍,就是你先輸入一句詩或一個字,機器會自動輸出後面的接龍詩句(最多10個)。

  先測試人工接龍模式:

  

  image

  再測試機器接龍模式:

  

  image

  作者:人生苦短丨我愛python

  鍊接:https://www.jianshu.com/p/04dbefb42310

  來源:簡書

  簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權并注明出處。

  本文将展示如何利用Python爬蟲來實現詩歌接龍。

  該項目的思路如下:

  利用爬蟲爬取詩歌,制作詩歌語料庫;

  将詩歌分句,形成字典:鍵(key)為該句首字的拼音,值(value)為該拼音對應的詩句,并将字典保存為pickle文件;

  讀取pickle文件,編寫程序,以exe文件形式運行該程序。

  大家在學python的時候肯定會遇到很多難題,以及對于新技術的追求,這裡推薦一下我們的Python學習扣qun:784758214,這裡是python學習者聚集地!!同時,自己是一名高級python開發工程師,從基礎的python腳本到web開發、爬蟲、django、數據挖掘等,零基礎到項目實戰的資料都有整理。送給每一位python的小夥伴!每日分享一些學習的方法和需要注意的小細節

  該項目實現的詩歌接龍,規則為下一句的首字與上一句的尾字的拼音(包括聲調)一緻。下面将分步講述該項目的實現過程。

  首先,我們利用Python爬蟲來爬取詩歌,制作語料庫。爬取的網址為:https://www.gushiwen.org,頁面如下:

  

  由于本文主要為試了展示該項目的思路,因此,隻爬取了該頁面中的唐詩三百首、古詩三百、宋詞三百、宋詞精選,一共大約1100多首詩歌。為了加速爬蟲,采用并發實現爬蟲,并保存到poem.txt文件。完整的Python程序如下:

  該程序爬取了1100多首詩歌,并将詩歌保存至poem.txt文件,形成我們的詩歌語料庫。當然,這些詩歌并不能直接使用,需要清理數據,比如有些詩歌标點不規範,有些并不是詩歌,隻是詩歌的序等等,這個過程需要人工操作,雖然稍顯麻煩,但為了後面的詩歌分句效果,也是值得的。

  有了詩歌語料庫,我們需要對詩歌進行分句,分句的标準為:按照結尾為。?!進行分句,這可以用正則表達式實現。之後,将分句好的詩歌寫成字典:鍵(key)為該句首字的拼音,值(value)為該拼音對應的詩句,并将字典保存為pickle文件。完整的Python代碼如下:

  我們可以看一下該pickle文件(poemDict.pk)的内容:

  

  image

  當然,一個拼音可以對應多個詩歌。

  讀取pickle文件,編寫程序,以exe文件形式運行該程序。

  為了能夠在編譯形成exe文件的時候不出錯,我們需要改寫xpinyin模塊的init.py文件,将該文件的全部代碼複制至mypinyin.py,并将代碼中的下面這句代碼

  改寫為

  這樣我們就完成了mypinyin.py文件。

  接下來,我們需要編寫詩歌接龍的代碼(Poem_Jielong.py),完整代碼如下:

  現在整個項目的結構如下(Mandarin.dat文件從xpinyin模塊對應的文件夾下複制過來):

  

  image

  切換至該文件夾,輸入以下命令即可生成exe文件:

  生成的exe文件為Poem_jielong.exe,位于該文件夾的dist文件夾下。為了能夠讓exe成功運行,需要将poemDict.pk和Mandarin.dat文件複制到dist文件夾下。

  運行Poem_jielong.exe文件,頁面如下:

  

  image

  本項目的詩歌接龍有兩種模式,一種為人工接龍,就是你先輸入一句詩或一個字,然後就是計算機回複一句,你回複一句,負責詩歌接龍的規則;另一種模式為機器接龍,就是你先輸入一句詩或一個字,機器會自動輸出後面的接龍詩句(最多10個)。

  先測試人工接龍模式:

  

  image

  再測試機器接龍模式:

  

  image

  作者:人生苦短丨我愛python

  鍊接:https://www.jianshu.com/p/04dbefb42310

  來源:簡書

  簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權并注明出處。

頻道熱點
  1. ?  本文将展示如何利用Python爬蟲來實現詩歌接龍。  該項目的思路如下:  利用爬蟲爬取詩歌,制作詩歌語料庫;  将詩歌分句,形成字典:鍵(key)為該句首字的拼音,值(value)為該拼音對應
  2.   據了解,目前全球最大的一款直升機,是米格26,擁有比較強的運輸能力,這種直升機年頭比較久了,服役時間特别長,各方面性能雖然比較不錯,但畢竟時間比較久了,可能是因為各種原因,在着陸的時候摔成了兩截
  3.   心理測試:4杯茶,憑心裡最想喝哪個?測你另一半好看不好看    A    B    C    D  ?
  4.   2019-08-0122:14:29育兒地帶兒  文原創:護芽媽媽  中國自古就有百家姓氏,我們大部分人都隻知道前面的“趙錢孫李、周吳鄭王”等這樣的大姓氏,而後面那些比較生僻的姓氏就鮮為人知了。
  5.   2019-08-0122:14:29育兒地帶兒  文原創:護芽媽媽  中國自古就有百家姓氏,我們大部分人都隻知道前面的“趙錢孫李、周吳鄭王”等這樣的大姓氏,而後面那些比較生僻的姓氏就鮮為人知了。
  6.   2019-08-0122:14:29育兒地帶兒  文原創:護芽媽媽  中國自古就有百家姓氏,我們大部分人都隻知道前面的“趙錢孫李、周吳鄭王”等這樣的大姓氏,而後面那些比較生僻的姓氏就鮮為人知了。
  7.   其實一個人在早上起床的時候,一般都是有着自己的習慣,這些習慣一般都是對自己身體非常的好,但是大部分人都是不注重這些東西,往往是忽略掉了,所以自己的身體也是越來越胖,那麼到底是哪些行為呢?晨起“3
  8.   據了解,目前全球最大的一款直升機,是米格26,擁有比較強的運輸能力,這種直升機年頭比較久了,服役時間特别長,各方面性能雖然比較不錯,但畢竟時間比較久了,可能是因為各種原因,在着陸的時候摔成了兩截
新聞排行
  1. 最近,獅山樓市的話題性愈發強烈。博愛湖一手沖上2萬、小塘賣到1.9萬、多宗地塊地價破萬……許多人不禁想問

    最近,獅山樓市的話題性愈發強烈。博愛湖一手沖上2萬、小塘賣到1.9萬、多宗地塊地價破萬……許多人不禁想問...

  2.   湛江火山地形為第四紀晚更新統火山噴發活動遺迹。可分為雷北火山群、雷南火山群和火山島嶼三大塊。74座

      湛江火山地形為第四紀晚更新統火山噴發活動遺迹。可分為雷北火山群、雷南火山群和火山島嶼三大塊。74座...

  3.   23:18:58我愛問醫生  摘  要  最新研究顯示:我國是世界上食鹽攝入量最高的國家之一,在過去40年期間,中國所有年齡段人群平均每日鹽攝入量持續在10克以上,高于推薦量的兩倍之多,而鉀攝入

      23:18:58我愛問醫生  摘  要  最新研究顯示:我國是世界上食鹽攝入量最高的國家之一,在過去40年期間,中國所有年齡段人群平均每日鹽攝入量持續在10克以上,高于推薦量的兩倍之多,而鉀攝入...

  4.   數碼男神昨天我要分享  7月24日上午,小米内部舉辦了一場盛大的慶功會,小米電視總經理在會上宣布了小米電視在2019年上半年取得的佳績,2019年上半年,小米電視銷量和出貨量全部突破400萬台,

      數碼男神昨天我要分享  7月24日上午,小米内部舉辦了一場盛大的慶功會,小米電視總經理在會上宣布了小米電視在2019年上半年取得的佳績,2019年上半年,小米電視銷量和出貨量全部突破400萬台,...

  5.   23:18:58我愛問醫生  摘  要  最新研究顯示:我國是世界上食鹽攝入量最高的國家之一,在過去40年期間,中國所有年齡段人群平均每日鹽攝入量持續在10克以上,高于推薦量的兩倍之多,而鉀攝入

      23:18:58我愛問醫生  摘  要  最新研究顯示:我國是世界上食鹽攝入量最高的國家之一,在過去40年期間,中國所有年齡段人群平均每日鹽攝入量持續在10克以上,高于推薦量的兩倍之多,而鉀攝入...

  6.   湛江火山地形為第四紀晚更新統火山噴發活動遺迹。可分為雷北火山群、雷南火山群和火山島嶼三大塊。74座

      湛江火山地形為第四紀晚更新統火山噴發活動遺迹。可分為雷北火山群、雷南火山群和火山島嶼三大塊。74座...

  7.   23:18:58我愛問醫生  摘  要  最新研究顯示:我國是世界上食鹽攝入量最高的國家之一,在過去40年期間,中國所有年齡段人群平均每日鹽攝入量持續在10克以上,高于推薦量的兩倍之多,而鉀攝入

      23:18:58我愛問醫生  摘  要  最新研究顯示:我國是世界上食鹽攝入量最高的國家之一,在過去40年期間,中國所有年齡段人群平均每日鹽攝入量持續在10克以上,高于推薦量的兩倍之多,而鉀攝入...

  8.   個人覺得,《銀河補習班》是鄧超演技最好、最感人、最具爆發力的一部作品,作為導演,鄧超帶着誠意将這

      個人覺得,《銀河補習班》是鄧超演技最好、最感人、最具爆發力的一部作品,作為導演,鄧超帶着誠意将這...

  9. ?  大家好,我每天為大家推薦精美小說,喜歡看小說,那就關注我哦。點擊頭像還可以閱覽其他的文章,也有很多推薦的小說,還可以在下方區域評論提出你們的意見或分享你們喜歡的書單,我看到會及時參考并回複給大家

    ?  大家好,我每天為大家推薦精美小說,喜歡看小說,那就關注我哦。點擊頭像還可以閱覽其他的文章,也有很多推薦的小說,還可以在下方區域評論提出你們的意見或分享你們喜歡的書單,我看到會及時參考并回複給大家...

  10. ?  01鄧超需要忘記自己是個演員  《灌籃高手》中有一支球隊非常特别,那就是翔陽高中籃球隊。  這支球隊的教練和隊長是同一個人,叫藤真健司。  當他作為教練在場下時,他沉着冷靜,尋找對方的破綻為自己

    ?  01鄧超需要忘記自己是個演員  《灌籃高手》中有一支球隊非常特别,那就是翔陽高中籃球隊。  這支球隊的教練和隊長是同一個人,叫藤真健司。  當他作為教練在場下時,他沉着冷靜,尋找對方的破綻為自己...

友情鍊接