最近、私はいくつかの新しいリソースステーションを発見しました、そして私がこれに遭遇したとき、私はそれをすべて自分のハードドライブに詰め込む方法を見つけるでしょう、それは少し非倫理的ですが、あなたがインターネット上でデータを公開する限り、それは他の人があなたのウェブサイトをクロールできることをデフォルトにすることと同じです。 そして、それらが商業化されなかったのと同じように、私も商品化しませんでした。 これらのデータは、時間の経過とともに最終的に消えるので、消えるのを黙って見るよりも、輝き続ける方が良いでしょう。 最悪、自分の時間をかけて本社を見ます。
この記事の主な内容は、Enkyoの書房のすべての電子書籍とブックカバーをクロールし、多くのコードを含む対応するJSONデータベースを構築することです。 そして奇跡的な予言。
新しいニュースを挿入する:執筆時点では、なぜ今日の小さな本の家のクローラーが私にそれらの新しい本をダウンロードするように促さなかったのか疑問に思っていました」(小さな本の家のウェブマスターは1日に5冊の本しか更新しないため、毎日最新の5冊の本を自動的にクロールして携帯電話にプッシュするように設定しました)'、私は小さな本の家に行って見ました、中央駅はすでに502です:
バックアップ ステーションも 403 アップです。
幸いなことに、私は事前にそれを登りました、そしてそれに関連するどんなウェブサイトも大打撃を受けるでしょう、静かに悲しいです。
そして、私が最初に書いた予言は、私が登ったウェブサイトが閉鎖されている限り... 遅れはありますが。 <スクリプト非同期 src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js">
[円京の書部] (https://www.enjing.com)それは私が今まで出会った中で最もクリーンな電子書籍サイトであり、シンプルなページ、非常に高い本品質のページ、そして多くの雑誌、さらにはオンライン読書さえあります。 これはどれも何もありません、最も価値のあることは広告がないということです。 (正しくは、オンライン読書セクションにはいくつかの広告がありますが、少なくともそれはすべてGoogleAdsであり、少なくともフルスクリーンの若い女性ではありません)」
タイポグラフィも非常に快適です:
Enkyoの自習室はアンチクローラー手段を使用せず、すべてのリンクはCloudFlareのCDNアクセラレーションを使用し、オリジンサーバーを非表示にし、ファイルストレージドメイン名は「shudan.io」であり、このドメイン名は非常に高価に見え、1つの文のみを開きます。
うーん... 嘲笑に満ちている。 ウェブマスターも非常に興味深い人です、私はインターネット上でEnjingのウェブマスターに関する情報を見つけることができません、そしてウェブサイトで見つけることができるスポンサーシップリンクや他の連絡先情報はありません、確かに、私はベテランです、そして匿名性はかなり整っています。 彼/彼女が隠れ続けてくれることを願っています、そして私はこの駅がもっと長く運営されることを願っています。
# コーディング: UTF-8 #!/usr/bin/python3 OS のインポート システムのインポート JSON をインポートする インポート urllib.request インポート再 インポート URLLIB os.system('mkdir "/home/books"') #新建文件夹、ダウンロードしたすべてのファイルはここで入手できます。 範囲内の数値の場合(1,192): #一共是1909本书、または 191 ページ print(r'ページ %s の解析' %nums) url = r'https://www.enjing.com/page/%s/' % nums headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (ヤモリのような KHTML) Chrome/55.0.2883.87 Safari/537.36'} req = urllib.request.Request(url=url, headers=headers) res = urllib.request.urlopen(req) html = res.read().decode('utf-8') html=html.replace("\n", "") #剔除页面的换行符 html=html.replace("\t", "") html=html.replace("\r", "") link = re.findall(r'"bookmark" href="(.+?)"', html)#书每本书的链接 リンク1 = str(リンク) json = re.findall(r'(.</a></p><p>+?</p>)', html)#每本书的简介 drlink = re.findall(r'https://www.enjing.com/(.+?) htm', link1) drlink = str(drlink) drlink1 = re.findall(r'\/(.+?) \.', drlink) #书的下载页面数字 (xqlinks,inotrs,drlinks) in zip(link,json,drlink1): #intors 作品紹介 url = r'%s' % xqlinks# 詳細ページに移動して、タイトル、作成者、表紙を取得します headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; インテルマックOS X x.y; rv:42.0) Gecko/20100101 Firefox/42.0'} req = urllib.request.Request(url=url, headers=headers) res = urllib.request.urlopen(req) html = res.read().decode('utf-8') html=html.replace("\n", "") #剔除页面的换行符 html=html.replace("\t", "") html=html.replace("\r", "") bookname = re.findall(r'post-preview book-describe"><h1>(.+?</h1>)', html) ブックネーム = str(ブックネーム[0]) #bookname ブックのタイトル Author = re.findall(<p>r'author:(.+?)'</p>, html) 著者 = str(著者[0])#Author著者 img = re.findall(r'210" src="https://shudan.io/(.+?)" class', html) img = str(img)#img 本の表紙 img = img.replace('[','') img = img.replace(']','') imgtype = img.replace('/','') imgdownload = '/usr/bin/wget --user-agent="Mozilla/5.0" -O /home/books/'+imgtype+' https://shudan.io/'+img システム(画像ダウンロード) #下载图书封面 shuming = r' 解析中: %s' %ブック名 印刷(シュミング) jsons = '{"name": "'+bookname+'","Author": "'+Author+'","intor": "'+inotrs+'","link": "your-file-server-address/home/'+bookname+'","img": "your-img-server-address/home/'+ imgtype+'"},'#这里如不需要json数据可以直接注释掉这行. url = r'https://www.enjing.com/download.php?id=%s' % drlinks# ダウンロードページに移動して、ダウンロードリンクを取得します headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (ヤモリのような KHTML) Chrome/55.0.2883.87 Safari/537.36'} req = urllib.request.Request(url=url, headers=headers) res = urllib.request.urlopen(req) html = res.read().decode('utf-8') html=html.replace("\n", "") #剔除页面的换行符 html=html.replace("\t", "") html=html.replace("\r", "") downlink = re.findall(r'shudan.io(.+?)" target="_blank">', html)#获取不同格式的下载链接 os.system('mkdir "/home/%s"' % bookname)#新建文件夹 ダウンリンクのXiazaiの場合: geshi = xiazai[-4:]#获取文件格式、これは接尾辞です。 Enjingの研究のファイル名に名前を付ける方法は非常に醜いので、彼はピンインの頭字語を直接使用していますが、これは本当に耐えられません。 xiazailink = 'wget --user-agent="Mozilla/5.0" -O "/home/books/'+bookname+'/'+bookname+'." +geshi+'" https://shudan.io'+xiazai now1= 'ダウンロード中:'+書籍名+'。 +ゲシ 印刷(現在1) os.system(xiazailink) #下载图书 fileObject = open('/home/books/enjing.json', 'a')#将获取到的json保存 fileObject.write(jsons) fileObject.write('\n') fileObject.close()
私のランタイム環境はubuntu 16.04、python 3.5です。 理由はシステムにコピーしてPythonで直接実行でき、ダウンロードした本と表紙とJSONファイルは「/ home / books」フォルダーにあります。
各ステップの具体的な役割はコメント化されており、JSONを生成する部分は必要に応じて直接削除できます。
最後に: * "コードはひどく書かれていますが、使用できないわけではありません!!! "*
合計1909冊の本enjing-full.txt、合計1871冊の本が最終的にダウンロードされ、データの約2%が失われました。 その理由は、見つからない本のタイトル部分にスラッシュ記号が含まれているため、クローラースクリプトがフォルダーの作成に失敗し、その後のダウンロードが失敗するためです。 この2%のために、私も再度ダウンロードする予定はありません。 (時間があれば、スラッシュで逆トラバースしてダウンロードをフィルタリングし、それまでにEnjingがサイトを閉じないことを願っています)」
JSON データは 1908 コピーにクロールされた、つまり 1 つが失われました。 ダウンロードデータとクロールする「著者、紹介、表紙」が分離されているため、JSONデータは少しいっぱいになります。
失われたデータの一部は、wgetエラーを引き起こすネットワークの問題が原因であり、ダウンロードに失敗します。
達成:
*平均ダウンロード速度は約0.7M / s、各本は約10.9M、毎分約3.9冊のダウンロードには合計8時間かかります。 *
-EOF-
パブリック クラウドとプライベート クラウドについて考え、Cloudreve の迅速な展開に関するチュートリアル
この記事の主な内容は、ChatGPT の日常的な使用に関するいくつかの考えと、その将来の展望についてです。
うつ病の一般的な症状には、持続的な気分の落ち込み、興味や楽しみの喪失、睡眠や食欲の変化などがあります。
Raspberry Pi 起動構成ファイルの簡単な紹介
この移行に関する簡単な紹介
目次
人気タグ
その他の言語
サイト情報