があったので、myfont を調べて何か見つかるかどうかを確認しました。その結果、本当に見つけたものがありました。
# 上の各文字はそのグリフとそのグリフ コードを示しているので、これら 2 つのフォントをどのように変換するかを考えずにはいられません。多くの大きなブログを調べていると、フォントの分析に特化した Python パッケージ fonttools を見つけました。 pip install fonttoolsは自分でインストールしてください 参考リンク: https://darknode.in/font/font-tools-guide/
# 那么便开始通过字体库进行解析 world = TTFont('./world.ttf') # 读取响应的映射关系 uni_list = world['cmap'].tables[0].ttFont.getGlyphOrder() # 'cmap' 表示汉字对应的映射 为unicode编码 print(uni_list) # 按顺序拿到各个字符的unicode编码 # 打印结果: ['.notdef', 'uniEDE8', 'uniED35', 'uniED87', 'uniECD3', 'uniED25', 'uniEC72', 'uniEDB2', 'uniEE04', 'uniED51', 'uniEC9D', 'uniECEF', 'uniEC3C', 'uniEC8D', 'uniEDCE', 'uniED1B', 'uniED6C', 'uniECB9', 'uniEDFA', 'uniEC57', 'uniED98', 'uniEDEA', 'uniED36', 'uniEC83', 'uniECD5', 'uniEC21', 'uniED62', 'uniEDB4', 'uniED00', 'uniED52', 'uniEC9F', 'uniEDDF', 'uniEC3D', 'uniED7E', 'uniECCA', 'uniED1C', 'uniEC69', 'uniECBB', 'uniEDFB'] # .notdef 并不是汉字的映射, 而是表示字体家族名称。 将映射列表转换成unicode的类型,因为自己文中获取的是字符串unicode类型的,当然你也可以转化为utf-8,不过你获取的文章内容也要转化为utf-8 unicode_list= [eval(r"u'\u" + uni[3:] + "'") for uni in uni_list[1:]]
マッピングに関しては、実はutf-8とunicodeの間にあるものについて少し疑問があります。 。 関係?詳細な説明については、Zhihu を参照することをお勧めします:
https://www.zhihu.com/question/23374078さて、上記ですべての準備が整いました。コードを書いてみましょう。
# coding:utf-8 import re import requests from scrapy import Selector from fontTools.ttLib import TTFont class QiCheZhiJiaSpider: def article_content(self): url = 'https://club.autohome.com.cn/bbs/thread/2d8a42404ba24266/77486027-1.html#pvareaid=2199101' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.119 Safari/537.36' } try: response = requests.get(url=url, headers=headers).text response_info = Selector(text=response) except BaseException as e: print(e) else: content = response_info.xpath('//div[@class="tz-paragraph"]//text()').extract() # 获取列表的形式内容。 # print(content) content_str = ''.join(content) # 紧接着获取字体的链接 world_href = re.findall(r",url\('(//.*\.ttf)'\).*", response, re.M or re.S)[0] world_href = 'https:' + world_href world_content = requests.get(url=world_href, headers=headers).content # 对获取到的字体进行下载.......... with open('./world.ttf', 'wb') as f: f.write(world_content) # 那么便开始通过字体库进行解析 world = TTFont('./world.ttf') # 读取响应的映射关系 uni_list = world['cmap'].tables[0].ttFont.getGlyphOrder() unicode_list = [eval(r"u'\u" + uni[3:] + "'") for uni in uni_list[1:]] world_list = ["右", "远", "高", "呢", "了", "短", "得", "矮", "多", "二", "大", "一", "不", "近", "是", "着", "五", "三", "九", "六", "少", "好", "上", "七", "和", "很", "十", "四", "左", "下", "八", "小", "坏", "低", "长", "更", "的", "地"] # # 录入字体文件中的字符。必须要以国际标准的unicode编码 for i in range(len(unicode_list )): content_str = content_str.replace(unicode_list [i], world_list[i]) print(content_str) if __name__ == '__main__': qi_che_zhi_jia = QiCheZhiJiaSpider() qi_che_zhi_jia.article_content()
結果表示:
上記はすべて紹介です。皆さんが何かを得ることができれば幸いです。さらに
をご覧ください。 PHP 中国語 Web サイトに注意してください。
以上がPython クローラー --- Autohome フォントのクロール防止の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Arraysinpython、特にvianumpy、arecrucialinscientificComputing fortheirefficienty andversitility.1)彼らは、fornumericaloperations、data analysis、andmachinelearning.2)numpy'simplementation incensuresfasteroperationsthanpasteroperations.3)arayableminablecickick

Pyenv、Venv、およびAnacondaを使用して、さまざまなPythonバージョンを管理できます。 1)Pyenvを使用して、複数のPythonバージョンを管理します。Pyenvをインストールし、グローバルバージョンとローカルバージョンを設定します。 2)VENVを使用して仮想環境を作成して、プロジェクトの依存関係を分離します。 3)Anacondaを使用して、データサイエンスプロジェクトでPythonバージョンを管理します。 4)システムレベルのタスク用にシステムPythonを保持します。これらのツールと戦略を通じて、Pythonのさまざまなバージョンを効果的に管理して、プロジェクトのスムーズな実行を確保できます。

numpyarrayshaveveraladvantages-averstandardpythonarrays:1)thealmuchfasterduetocベースのインプレンテーション、2)アレモレメモリ効率、特にlargedatasets、および3)それらは、拡散化された、構造化された形成術科療法、

パフォーマンスに対する配列の均一性の影響は二重です。1)均一性により、コンパイラはメモリアクセスを最適化し、パフォーマンスを改善できます。 2)しかし、タイプの多様性を制限し、それが非効率につながる可能性があります。要するに、適切なデータ構造を選択することが重要です。

craftexecutablepythonscripts、次のようになります

numpyarraysarasarebetterfornumeroperations andmulti-dimensionaldata、whilethearraymoduleissuitable forbasic、1)numpyexcelsinperformance and forlargedatasentassandcomplexoperations.2)thearraymuremememory-effictientivearientfa

NumPyArraySareBetterforHeavyNumericalComputing、whilethearrayarayismoreSuitableformemory-constrainedprojectswithsimpledatatypes.1)numpyarraysofferarays andatiledance andpeperancedatasandatassandcomplexoperations.2)thearraymoduleisuleiseightweightandmemememe-ef

ctypesallowsinging andmanipulatingc-stylearraysinpython.1)usectypestointerfacewithclibrariesforperformance.2)createc-stylearraysfornumericalcomputations.3)passarraystocfunctions foreffientientoperations.how、how、becuutiousmorymanagemation、performanceo


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ホットトピック









