eight04 / ComicCrawler

An image crawler written in Python.
265 stars 47 forks source link

额拷贝漫画更新后还是有问题哎,加入连接、分析时会显示错误提示"Episode list is empty" #318

Closed yhxkry closed 2 years ago

yhxkry commented 2 years ago

Start analyzing https://www.copymanga.com/comic/shaonvxinniangwuyu C:\Users\RickyYAO\AppData\Roaming\Python\Python37\site-packages\urllib3\connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings InsecureRequestWarning) C:\Users\RickyYAO\AppData\Roaming\Python\Python37\site-packages\urllib3\connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings InsecureRequestWarning) Thread crashed: <function DownloadManager.start_analyze..analyze_thread at 0x000002ED41EFC510> Traceback (most recent call last): File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\worker__init__.py", line 474, in wrap_worker self.ret = self.worker(*args, **kwargs) File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\comiccrawler\download_manager.py", line 163, in analyze_thread Analyzer(mission).analyze() File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\comiccrawler\analyzer.py", line 57, in analyze self.do_analyze() File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\comiccrawler\analyzer.py", line 86, in do_analyze self.analyze_pages() File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\comiccrawler\analyzer.py", line 151, in analyze_pages raise Exception("Episode list is empty") Exception: Episode list is empty

分析半天就会显示这个错误,然后就停了。试过几个不同的漫画都是这样。

麻烦大佬再看一看了

eight04 commented 2 years ago

我這邊正常

Start analyzing https://www.copymanga.com/comic/shaonvxinniangwuyu
C:\Users\eight04\dev\ComicCrawler\.venv\lib\site-packages\urllib3\connectionpool.py:997: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
  warnings.warn(
C:\Users\eight04\dev\ComicCrawler\.venv\lib\site-packages\urllib3\connectionpool.py:997: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
  warnings.warn(
Analyzing success!
  1. 我想看看是否你那邊取得的資料是否和我這邊不同︰
    1. 開啟 https://www.copymanga.com/comic/shaonvxinniangwuyu
    2. 按 F12 打開開發者工具,切換到「連線」頁籤
    3. 按 F5 重整,等待並找到 chapters 請求
    4. 查看請求回傳內容
      image
  2. 檢查 ComicCrawler 是否有取得正確資料
    1. 在設定檔中 [DEFAULT] 區段加入 errorlog = true 的設定。
    2. 啟動 ComicCrawler,若有自動檢查更新,先等它跑完
    3. 分析 https://www.copymanga.com/comic/shaonvxinniangwuyu
    4. 發生錯誤後,關閉 ComicCrawler
    5. 在設定檔旁邊找到 grabber.log,打開並找到 chapters 請求 image

小提示,如果要在 Github 貼程式碼/log,可以用三個 backtick (`) 包起來,會比較好讀︰ https://docs.github.com/en/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#quoting-code

yhxkry commented 2 years ago
  1. chapters 的内容如下:

    {"code": 200, "message": "\u8bf7\u6c42\u6210\u529f", "results": "OothXsupL703HWEK610360c9d14956c43cf8047399c7d2e3e3878988c8b83b9f9be9062f1a1ef4f5368f175dff6ece55ea8a520bffe1030c1c7fb8b612409a21cdfd8b48073d5fb68c9c08c8bb1c06cf4ab184f9cb7feca9bd1dc54367774e401eafc181ba924d0cdc1d53d1bc4bbb479c2255bb969fa1c3e63676073480bb907df487cc59f36c2cb48f658ea8749f23e357921c3dc433c9e1f5a51f858cfe528250efc4da22832bded52bc07e57a535932ab604d7b44d6c10ffba193871c92aaff011b79980f7cd7982e5e4b7967056cf928ea2f77a5a324b9d7ac473d1950cc8fee5b8557fc405f97ce42855cd6072e3ca88d8ffe7bb82ee8302199f94c796859b479402139e9f363035e01a9703a1ae969efc5570dc87d9a6cc726178e4ff8c8f750451b40ef483a7381e928d359a6b4cbfe0d9b9261cc748974049e81f91af5b6ca0c90bd8206a748d660145f740ad10f306b1cdfa3cf991ae58c791545c460e90c0db976b04932627843a9e968b77d12674220438b7b9ec8ef3670fdc9f0a37feb46a11e07b8b8f868f01155a58cba3970fab8a4684328964f12764099e8fff57a462591075da8c811deaca6df3cae369ff8a85561963197d06a1b4ac572bd86bd5fa9436f8fb4152668fc87b75855f64b52779a85b9b4bd41a20346843cc6447c5387f630be90b66c08e0b6599224d70151062a118560db454e5d080cdb4549c280de74c98c91fc81c59a159f3b6fad05ef6e66f1ec71845bf0cfb78c68d438212878b252fd9cc5a08c9fd233347c69149e7ce94da5d9b2f1f8213506aa24c32ae843df2c55f80ca92d3608d3917c61f310af85408c81f2d3028b3b43381432ee1c989dc942f53c83512387383f44d41426e2256fad6a6c2a149ac2b687d473503322daea7c30b19717da70e643933841c20774fabc27e388a4eb441125da68453dc5d01d95592680ea8b2a1600c89a24512d453a50d25e75106c9f2a964c9c5c8cdae0d5659b4436bdd35e0a3201e9874dfd19a9b5a12ac8f2b8f361928b24319eb08468c6ed6f394b9974737dd2e52f348f90e76f6849777fd222ba717543a420151cccd7d71145daaca7ffb6737b1a15fa3a4d1dcceb8bb36384e5eb0bafe204706f2b0fd24546063b52326276fbdee7852fe73a9715dddd542ceded4eb5c734e23eee880a93942ff5f29afccad7dcc1f2804d4edcf030b1f4c0c644160a1f291ddf78ca31ee839b9d1a3189c03f0a767faf6b53352d4419671f236c9e47e35baaa2fb4957015ed45ff21f6ccb73551cff49256654315e56f9e296444b5ae2b309df5f32661f0d1ae061ce24a922cc46240fa29f191e5e50a4bd0cd9f924d4669022fcd247ce79e7514520b9f82ed92dc4005c83c6c73f90e215aafb27fb2644d285ee3fba27ea03b1a0f9007d5a40cd723fd7bd9ef01e57164cfd86bffe082c994d882469ac070bcef3352326fb9dee93a0e25c5ec51fd328fca9ae46048bae318d562470544e0ab0468bcc4a5721b00461b1019679be40677d8af4798dc249db3e1bdfb596eac53408cfc15555f5dc1f1f0ec6f324e461021c2962d55848e6a4a67b7f3c801bd3ad0e9caf501b3f7d012f83d7e5e3e9baa1d9f61efc0002cb9402efd59656ce008d450aabaa0913224e6f127797dde9dc4adcba163c9f1963733cf15f3b11e268494f6f5472f452adb2dcfb4c6d2d8296898761e795a939da30fb19843b2937ec6ea3a2e1b5ce5834a81ec7d7bcdda09210e36c03b094c5146acfe01eab9a20803c58bc77a69142f43f9d084ed78437edefbf1892d634a8e4485a0eed21ba7ec1b320df33eafeff5935fac7e542e2b93597bdd68bd5f6fccd1b90703e7ca8a6aa18f6db9528775e02d1ce7109a601e81df72891809b10d1264633db8f07d0bb1403a234d816021d6662ce21c99eedc3e6172694ede1a2fd1b1f521a042b81d4d45c00e1e81426158cd2ee19875c0e62fad3a35cbf4987215337a55092301f6ea97689476b341eb3f704280601f3991d7ddf0aa56d3465ffd88721693b297aa0db8925fe730119bb6eefbe95e18a9cbde7b5ed840d1a3a10c888d45092e29c1df105555793c1ec7af1715466843cc9cbedfeff3e27c5e133fa9ecdf34d1826132f2770b1fe3e36d91b7f03b0affac2f92d54d61e4d2d37319caec082186ae1b203aa8ba11321a9785a49684659fc6161642b1c261450adce2b11bb4491ec80791ebd999d6753e9a20aa486bcd5070fbb055e04bc78c09c34f6e78e586993513a271bf6c8fe3fe43568a6c6a6f79d14063147e7e37bf7d3babdadf56986e414b2f0fb90985e0da1e705e3ae7d32c8d1374f9de814ad88ceadea22d63d61266f406eadb4aedd34a6100801ac1fd47245d762cd5b42ed28df39b1ce8c2cc9b539662c806214f2aac72a9b17408ab74fc7d493d0cf9f849de118aaaae230784c07f5a50192212b478ed52de2ad3947b425fe8d3c24a04f4c45d863db4f074a9a68204dfc953a092de3fcceb3b2b7cdb36f4880002453d7a547f8c9709cbd1760bff47d5d7f9e3da2f2866fa81490a2d0678d5d188579d8744bf8f19b9f415a097b4d2be72b1ed2da544e8c900e23f246d522b14c37a13a75277a53a55b928177235264f4eda55a9a0651808c0f9e4649633fbf0944709b78a086f406e7051f567b0cb9b09deb8ea891cffc0387f76c65ea0a9c6c4cd81cd4b61ad5182c2d15e9cb9d030ca54eb2d0a2abc664756bfb482c3b69aebf46b1f63bcdc5d96a5113515992c78afa7d03ecc82157863ffc25fc69b4ac6f7e03852ee079954d192674680d4836a6a496fb2ac739be6c8fca072b41518c8e584fc16acbeefe28f573e4f7d1d9cfd0bd8a33444f4fbffc839eb487ed069a1c43bee9aafa55e961eae4048a8794def36f2446820832d9730df82dc15eb1ddf86ca2c38736ed782491d71f5a630ce2aac57dc6d685f457081a7d3474eebd95f60144352df5b32c7a00f0f39728e3e74de860fb247db3e3366dabda13257a3de0335d244b291f16066eb1275ce4388a33cd0e8f9f77b85fe0b933db456253a23612194d09a4327e703c6f41d0619daf8f10b0aa55be2aee1c60f78bf4396909931d0bb6913a99ad4388aaf31b6ca08dceaa5101297f582d47a3d1afeac76cb866ab62dad68497322e931cd32a07bbd62d8ffc7421bcfd53cfead4ab3069936d7fef65d02b5fac53e410df7c0284a766c4a16e54028f08e6456e4dcb75ef77dab9488a73f6f487d5bfa187c09805aa2c7c20f58b2c7fdf85c6fcaf8e7cc691dc026890659e786111895bb1025092f32a6e6aa970083047cab0ee72992cc1aab35eece9a112a3a982ad0a3621c79096c4816a828d8f6f7a1b924d532f95e074dcb43985ab328c640b3329c5b05a63a9c440ca56509bf9fed619e3ab2f17c2466134906914c53c772a70b857a100f8d6c785b622a304a597f74c7baceba13ffeb9e00cd3186d07b69183e17b9b388745eb3d32f2e45e0ca5af83d022c3324293a3697c75dcd60202fca1b13a2a1ddfe1fd926e77c8b4985fc30d70d80c24fbc2d0ff7ab3726b8f8809d47a3435a33f318f30a3b517ec53d6fc70ca509a52337e1d4ebc2efbc4bb1a7bffe5c54e3358b87af38da12b2f614a636a1e56d91aebdfa3efb9efa987a285a70aa9bb840f904de3ef94c21e8bb0ad942261616479be0f76f3a9b59a4e41027d94682c1bbb2d51193aaf40797d5e1507196eb69d8b122ad9f502e51b2b0c50c7f01d9ef50f032593cc9716b91d73d851f739041c6198f01efe71598317f4dd0b0c50e2328e578c965745e11e2bea5b459df719f77931f71cfe25cb75b0352bc88079fd00a85c864e478790bfacf75051cc5aabd41e214d6b310ff0fb2b021716bceac42efe3602d7f554bfec92a187b414bc84b7840980a25edcff2466cdba8ac59bb096abac536f0443f32ad3869bfb8144829e6504258611724164a3fef75d24e8240b2d81f67282589dfa361b383bef88a24ae38bb95473397d8932d7dbccb61cc7a5cd660b9de23918c198239d22c16c7bc5a1ba3e1a9f06281903f60912e46080550a02590086a2a600afc8d48e6785e471e1385684921b9c06be02c21ca0938a785e74425332d5dbab80727e106c3c3f47cc28e5fcdcebd074fb6b1b5605ec9759f86890dc528fd6f07adcdb50b340aba8bfb2fe9cce0ba97fc8b88b98013ad992c30410ac79ea0de7366b0e9b873a94599458c0f86d1aed5e9e11e5d598bc1cbf8ab885c2c91931861d7aeacf0717ea68e419330aab9079855854b7dc75ca08cf2c9d14c3aa19c251410f50b8c2cc8ca6e2f3fecacfde5c5e534c34bf508221fddc6e979f27840c9602360b22ee136b666f1c11d7cd800490da8b64e416072ab1446b1a9d5c36d650be49fc4c63438e970b197e1e6a10b95da727366e1f11b49657a9f74cfda887bb7c36d06ac18f1ee266558f7e1291f23512a8089a6ffa32c8711ab1ae2fe499817c055412d7000248b24f496bf325c296a5bb604e16a913a7510ec3ebe44d7656e0d7acf07c28e6e9c37e0c49c1c28836ca43ee98826779640464ba456dfe9716e15cf60837d442ec3a7a8dedf6b13fd00ef3120713bd8dfbd9731e0b6740e397abdca56538797e8282dc67833fcf8983eeb0e404085025c1456cdc0741dc2f34b88e2eb6326a7f586dc0bed64430734bacee6cee0e6e62fa42e2b4d7fcfff591593b01b75e359dda05773b5d2eb12f6f1cc48761482fa08f8b4665b15c0d5aefe0f0d7e47640d20192ff03b95d08aec1a9b0ecd527d980febfaee0037f57b3403dd2f0fc519bae8e0bd89a9832e0aa470489b355d241e67ef154b4070e15cca27be8ed00a12becf471273a5083150f9f670c740d12613bb7129e3a1b6fc8160544cc09839531bc8302338761232d47383c90be994c814922799aaca7560f317e236fae0ce4ad8ee5e8ea9a23caea36cae0cca5c83a07f15567078d27227d8e0313d18850d770086ea6833ef247d9884b7a8cc70919bd10e3d8167234ee6b9783601dfd4f9bcc1e67b68c67728c81c509ef4a038553e69a423c84d6e9242f8a4bf31f8d6a4c408f1fb3b170ca66d8917fa50ba8c7ff98a32d63a52e2702d35b688bef2986474b0f2e2d2cebe6ac36099ac8a914ab30a7fddfcfbef50f3034d1f64976808bda38014d34ff74207de8f0be97dceed1e2945cb0088e7269eeecbc8e5e99b060b914c349389952fbe6b99dfc62a4287b443ccdde5af90ce63ea21138b8ca406d36afb83c59c63c0260a069b8801f232d7d17ecc2ac8edfbdb4bf0f8a160a64652dfaaa573c7240f838bee45124d1ce4fa45be01625ee043f60a3812c62ee8994058ff56fc68dc89d873b2618ff2a3d4334c1f4472df3e37869722055cef97801690f08f2b9512948a053023739093ab4e9356fe85f3829bb502e5ae3d707512f64660db4f1b55304b168db9810620dc7a67119204d55a8faae7d4442b6f3e534c2005caccc8c0581e1a0c1097db55b6e36ebcb0dc3c2b11bc295e4c200a54f6aa62c61872491bc36d554423597022b940daf8674c91f239a1b853bbfb2a0ab77ddb0b623e92ed07f8a44ba99f960fe4ae218146c7180538df1755b88e115aba8bc94a7b2fb44b35d97a243d5b29c8b5d12198ecb8ca3bf457d08c5e53939609167d524afe0033b37c4aa42e169b789d36f595309658ab88dd26fa1aa42018f91d8f5392e6ee541845f7cd2b7312658f227f2dc7b826939a9dba257a23bff868dab26d65eaa59fc1b9e4c16991dd057d0a5c8fa0"}
  2. 额我今天再试,错误提示变了,变成了502 Server Error:

    C:\Users\RickyYAO\AppData\Roaming\Python\Python37\site-packages\urllib3\connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
    InsecureRequestWarning)
    Thread crashed: <function DownloadManager.start_analyze.<locals>.analyze_thread at 0x000001B457FD7BF8>
    Traceback (most recent call last):
    File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\worker\__init__.py", line 474, in wrap_worker
    self.ret = self.worker(*args, **kwargs)
    File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\comiccrawler\download_manager.py", line 163, in analyze_thread
    Analyzer(mission).analyze()
    File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\comiccrawler\analyzer.py", line 57, in analyze
    self.do_analyze()
    File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\comiccrawler\analyzer.py", line 80, in do_analyze
    self.html = self.grabber.html(self.mission.url, retry=True)
    File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\comiccrawler\module_grabber.py", line 11, in html
    return self.grab(grabhtml, url, **kwargs)
    File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\comiccrawler\module_grabber.py", line 30, in grab
    return grab_method(url, **new_kwargs)
    File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\comiccrawler\grabber.py", line 151, in grabhtml
    r = grabber(*args, **kwargs)
    File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\comiccrawler\grabber.py", line 105, in grabber
    r = await_(do_request, s, url, proxies, retry, **kwargs)
    File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\worker\__init__.py", line 905, in wrapped
    return f(*args, **kwargs)
    File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\worker\__init__.py", line 927, in await_
    return async_(callback, *args, **kwargs).get()
    File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\worker\__init__.py", line 682, in get
    raise err
    File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\worker\__init__.py", line 474, in wrap_worker
    self.ret = self.worker(*args, **kwargs)
    File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\comiccrawler\grabber.py", line 131, in do_request
    r.raise_for_status()
    File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\requests\models.py", line 953, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
    requests.exceptions.HTTPError: 502 Server Error: Bad Gateway for url: https://www.copymanga.com/comic/shaonvxinniangwuyu

以下是grabber.log的内容:

2021-11-17T00:22:49+0800
('https://www.copymanga.com/comic/shaonvxinniangwuyu',
 'https://www.copymanga.com/comic/shaonvxinniangwuyu',
 {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Accept-Language': 'zh-tw,zh;q=0.8,en-us;q=0.5,en;q=0.3', 'Cookie': '_ga=GA1.2.484741898.1636214385; _gid=GA1.2.1789118637.1636977731; avatar=copymanga.png; cartoon_vip=0; comic_vip=0; create="2021-10-21 03:52:40.788715+00:00"; csrftoken=RtgFQWKiT8ILglsyxgnkCUgoOT0F2E6AxhYvrT3rs7JJfa4WCmnLCLKMkqUCXJ7J; email=""; name=yhxkry; sessionid=kbqkvb3wpw1ac78ut29108smner3qvtm; token=b5b30514cb7d2e5f0aa9cbc9dfb8cf16a0f8457a; user_id=56bc5910-3222-11ec-b824-93410bc563a8; webp=1'},
 {'Server': 'awselb/2.0', 'Date': 'Tue, 16 Nov 2021 16:22:50 GMT', 'Content-Type': 'text/html', 'Content-Length': '524', 'Connection': 'keep-alive'})

麻烦再看看什么情况,谢谢!

eight04 commented 2 years ago

送出的內容有點奇怪,裡面甚至有你的帳號token, 雖然大部份服務都會檢查ip, 我還是建議你重設相關的密碼。

你有在設定檔中加入其它cookie嗎?如果有,我猜你的設定放錯區段了。另外,新遇到的錯誤跟之前的不同,在拿到chapters之前就失敗了

yhxkry commented 2 years ago

我重新试了下,这回遇到的错误跟之前一样了( Episode list is empty):

2021-11-17T10:37:38+0800
('https://www.copymanga.com/comicdetail/shaonvxinniangwuyu/chapters',
 'https://www.copymanga.com/comicdetail/shaonvxinniangwuyu/chapters',
 {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Accept-Language': 'zh-tw,zh;q=0.8,en-us;q=0.5,en;q=0.3', 'Cookie': '_ga=GA1.2.484741898.1636214385; _gid=GA1.2.1789118637.1636977731; avatar=copymanga.png; cartoon_vip=0; comic_vip=0; create="2021-10-21 03:52:40.788715+00:00"; csrftoken=RtgFQWKiT8ILglsyxgnkCUgoOT0F2E6AxhYvrT3rs7JJfa4WCmnLCLKMkqUCXJ7J; email=""; name=yhxkry; sessionid=kbqkvb3wpw1ac78ut29108smner3qvtm; token=b5b30514cb7d2e5f0aa9cbc9dfb8cf16a0f8457a; user_id=56bc5910-3222-11ec-b824-93410bc563a8; webp=1'},
 {'Date': 'Wed, 17 Nov 2021 02:37:38 GMT', 'Content-Type': 'application/json', 'Content-Length': '4848', 'Connection': 'keep-alive', 'Vary': 'Accept, Accept-Language, Cookie, Accept-Encoding', 'Allow': 'OPTIONS, GET', 'X-Frame-Options': 'SAMEORIGIN', 'Content-Language': 'zh-hant', 'Content-Encoding': 'gzip', 'X-Amzn-Trace-Id': 'Root=1-61946af2-556ddd2f1c485dbe1133be85'})

然后您提到的cookie的问题,因为我不太懂相关的知识,不确定网站到底要哪些cookie来认证,于是我一般把F12里出现的所有cookie都填进去设定档中,以往下载其他站点的时候都是这样操作,都没有出这个问题。

我的设定档如下:

[拷貝]
cookie_sessionid = xxxxxxxx
cookie_csrftoken = xxxxxxx
cookie__ga = xxx
cookie_cartoon_vip = x
cookie_avatar = copymanga.png
cookie_user_id = xxxxxx
cookie_name = yhxkry
cookie__gid = xxxxxxxxxxx
cookie_comic_vip = 0
cookie_token = xxxxxx
cookie_email = ""
cookie_create = "xxxxxxxx"
cookie_webp = 1
verify = false
eight04 commented 2 years ago

我測試時不需要 cookie 認證就可以下載,請把拷貝底下的 cookie_ 都刪除後再試一次。另外你新貼的 grabber.log 還是把帳號 token 漏出來了。

拿掉 cookie 後若還是有問題,就得檢查 ComicCrawler 得到的資料是否正常。你可以在 copy.py 中的 get_episodes 加入一行 print

diff --git a/comiccrawler/mods/copy.py b/comiccrawler/mods/copy.py
index e4507d8..99f2f6d 100644
--- a/comiccrawler/mods/copy.py
+++ b/comiccrawler/mods/copy.py
@@ -59,6 +59,7 @@ def get_episodes(html, url):
    cid = re.search("[^/]+$", url).group()
    data = json.loads(grabhtml(urljoin(url, f"/comicdetail/{cid}/chapters")))["results"]
    data = extract_data(html, data)
+   print(data)
    for group in data["groups"].values():
        for chapter in group["chapters"]:
            yield Episode(

(檔案位於 c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\comiccrawler\mods) 這樣在分析時應該就會印出得到的資料。

yhxkry commented 2 years ago

您说的暴露了信息的问题我也知道了...-_-不过想着这个网站又没有VIP、充值啥的,暴露了账号信息也没啥关系,就算了无所谓了。

关于cookie,按照我粗浅的理解,cookie应该对于获取 Episode list不会有影响吧,我以往的经验是即使cookie没有、或者不对也能正常分析,只是在下载的时候才会显示错误。所以我猜我出现的错误基本上不会因为cookie导致的。

我按您说的在copy.py 中的get_episodes 加入一行print之后(已经把所有cookie相关内容拿掉了),返回的信息如下:

Start analyzing https://www.copymanga.com/comic/shaonvxinniangwuyu
{'build': {'path_word': 'shaonvxinniangwuyu', 'type': [{'id': 1, 'name': '話'}, {'id': 2, 'name': '卷'}, {'id': 3, 'name': '番外篇'}]}, 'groups': {'default': {'path_word': 'default', 'count': 33, 'name': '默認', 'chapters': [{'type': 2, 'name': '第01卷', 'id': 'b1752a76-cbdf-11ea-9ed3-00163e0ca5bd'}, {'type': 2, 'name': '第02卷', 'id': 'bfd1f32e-cbdf-11ea-9ed3-00163e0ca5bd'}, {'type': 2, 'name': '第03卷', 'id': 'c503f8f6-cbdf-11ea-a87b-00163e0ca5bd'}, {'type': 2, 'name': '第04卷', 'id': 'caaaa7f0-cbdf-11ea-a87b-00163e0ca5bd'}, {'type': 2, 'name': '第05卷', 'id': 'd8e8c63a-cbdf-11ea-b679-00163e0ca5bd'}, {'type': 2, 'name': '第06卷', 'id': 'ddb0d81a-cbdf-11ea-9ed3-00163e0ca5bd'}, {'type': 2, 'name': '第07卷', 'id': 'e87fab86-cbdf-11ea-a87b-00163e0ca5bd'}, {'type': 2, 'name': '第08卷', 'id': 'edae8460-cbdf-11ea-a87b-00163e0ca5bd'}, {'type': 2, 'name': '第09卷', 'id': 'f384415e-cbdf-11ea-9ed3-00163e0ca5bd'}, {'type': 2, 'name': '第10卷', 'id': 'fb6e79f2-cbdf-11ea-98cc-00163e0ca5bd'}, {'type': 2, 'name': '第11卷', 'id': '01dea8e8-cbe0-11ea-b679-00163e0ca5bd'}, {'type': 1, 'name': '第78话', 'id': '2a004782-cbe0-11ea-b679-00163e0ca5bd'}, {'type': 1, 'name': '第79话', 'id': '30e724b2-cbe0-11ea-a87b-00163e0ca5bd'}, {'type': 1, 'name': '第80话', 'id': '33da8ce0-cbe0-11ea-b679-00163e0ca5bd'}, {'type': 1, 'name': '第81话', 'id': '368a5114-cbe0-11ea-b679-00163e0ca5bd'}, {'type': 1, 'name': '第82话', 'id': '394172e8-cbe0-11ea-9ed3-00163e0ca5bd'}, {'type': 1, 'name': '第83话', 'id': '3d1df36e-cbe0-11ea-b679-00163e0ca5bd'}, {'type': 1, 'name': '第84 话', 'id': '4100dafa-cbe0-11ea-9ed3-00163e0ca5bd'}, {'type': 1, 'name': '第85话', 'id': '445f1a90-cbe0-11ea-9ed3-00163e0ca5bd'}, {'type': 1, 'name': '第86话', 'id': '46d69bf4-cbe0-11ea-9ed3-00163e0ca5bd'}, {'type': 1, 'name': '第87话', 'id': '499ebda8-cbe0-11ea-9ed3-00163e0ca5bd'}, {'type': 1, 'name': '第88话', 'id': '4cbfe480-cbe0-11ea-a87b-00163e0ca5bd'}, {'type': 1, 'name': '第89话', 'id': '4f856cb2-cbe0-11ea-98cc-00163e0ca5bd'}, {'type': 1, 'name': '第90话', 'id': '58cdbec8-cbe0-11ea-9ed3-00163e0ca5bd'}, {'type': 1, 'name': '第91话', 'id': '79919f5c-cbe1-11ea-96df-00163e0ca5bd'}, {'type': 1, 'name': '第92话', 'id': '7bfc87b6-cbe1-11ea-aa1b-00163e0ca5bd'}, {'type': 1, 'name': '第93话', 'id': 'cf2de4ba-102a-11eb-b0c0-00163e0ca5bd'}, {'type': 1, 'name': '第94话', 'id': 'cf2e0f1c-102a-11eb-b0c0-00163e0ca5bd'}, {'type': 1, 'name': '第95话', 'id': '0bfca9e4-2b4c-11eb-be85-00163e0ca5bd'}, {'type': 1, 'name': '第96话', 'id': '52e30892-40e8-11eb-9cd3-00163e0ca5bd'}, {'type': 1, 'name': '第97话', 'id': '7a4fc498-df2a-11eb-a2ba-00163e0ca5bd'}, {'type': 1, 'name': '第98话', 'id': '3e9872c2-0736-11ec-a9a1-024352452ce0'}, {'type': 1, 'name': '第99话', 'id': 'fe64f5f2-3306-11ec-8be1-024352452ce0'}], 'last_chapter': {'index': 32, 'uuid': 'fe64f5f2-3306-11ec-8be1-024352452ce0', 'count': 33, 'ordered': 990, 'size': 22, 'name': '第99话', 'comic_id': '408fd176-9b85-11e8-835e-c8ff287e7c9d', 'comic_path_word': 'shaonvxinniangwuyu', 'group_id': None, 'group_path_word': 'default', 'type': 1, 'img_type': 1, 'datetime_created': '2021-10-22', 'prev': '3e9872c2-0736-11ec-a9a1-024352452ce0', 'next': None}}, 'other_group': {'path_word': 'other_group', 'count': 1, 'name': '其他 系列', 'chapters': [{'type': 3, 'name': '豆嫁物语', 'id': '6dac3fc0-b9e4-11eb-93fe-00163e0ca5bd'}], 'last_chapter': {'index': 0, 'uuid': '6dac3fc0-b9e4-11eb-93fe-00163e0ca5bd', 'count': 1, 'ordered': 10, 'size': 14, 'name': '豆嫁物语', 'comic_id': '408fd176-9b85-11e8-835e-c8ff287e7c9d', 'comic_path_word': 'shaonvxinniangwuyu', 'group_id': '5ffbe542-c54a-11e8-878d-024352452ce0', 'group_path_word': 'other_group', 'type': 3, 'img_type': 2, 'datetime_created': '2021-05-21', 'prev': None, 'next': None}}}}
Thread crashed: <function DownloadManager.start_analyze.<locals>.analyze_thread at 0x00000130A07AF488>
Traceback (most recent call last):
  File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\worker\__init__.py", line 474, in wrap_worker
    self.ret = self.worker(*args, **kwargs)
  File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\comiccrawler\download_manager.py", line 163, in analyze_thread
    Analyzer(mission).analyze()
  File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\comiccrawler\analyzer.py", line 57, in analyze
    self.do_analyze()
  File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\comiccrawler\analyzer.py", line 86, in do_analyze
    self.analyze_pages()
  File "c:\users\rickyyao\appdata\local\programs\python\python37\lib\site-packages\comiccrawler\analyzer.py", line 151, in analyze_pages
    raise Exception("Episode list is empty")
Exception: Episode list is empty

按照这些信息来看,应该是 ComicCrawler 是能够得到正常的资料的?

eight04 commented 2 years ago

大概知道問題在哪了,這個 bug 只在設定 titlenumberformat 時才會出現。

yhxkry commented 2 years ago

大概知道問題在哪了,這個 bug 只在設定 titlenumberformat 時才會出現。

请问这个问题是会修复吗?

eight04 commented 2 years ago

已經修了,在 master 上。在出新的版本之前可以先手動照這個修改︰https://github.com/eight04/ComicCrawler/commit/117d945720a8af0ac3bf0a50a20014cb11f56bbc

eight04 commented 2 years ago

Fixed in 2021.12.2.