ferru97 / PyPaperBot

PyPaperBot is a Python tool for downloading scientific papers using Google Scholar, Crossref, SciHub, and SciDB.
MIT License
395 stars 75 forks source link

JSON decoder #64

Open Bobpick opened 2 months ago

Bobpick commented 2 months ago

This program used to work for me, and I reinstalled Python, it no longer works. I get this error: Google Scholar page 1 : 10 papers found Searching paper 1 of 10 on Crossref... Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "C:\Program Files\Python312\Lib\site-packages\PyPaperBot\__main__.py", line 148, in <module> main() File "C:\Program Files\Python312\Lib\site-packages\PyPaperBot\__main__.py", line 145, in main start(args.query, args.scholar_results, scholar_pages, dwn_dir, proxy, args.min_year , max_dwn, max_dwn_type , args.journal_filter, args.restrict, DOIs, args.scihub_mirror) File "C:\Program Files\Python312\Lib\site-packages\PyPaperBot\__main__.py", line 17, in start to_download = ScholarPapersInfo(query, scholar_pages, restrict, min_date, scholar_results) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Python312\Lib\site-packages\PyPaperBot\Scholar.py", line 64, in ScholarPapersInfo to_download = scholar_requests(scholar_pages, url, restrict, scholar_results) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Python312\Lib\site-packages\PyPaperBot\Scholar.py", line 43, in scholar_requests papersInfo = getPapersInfo(papers, url, restrict, scholar_results) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Python312\Lib\site-packages\PyPaperBot\Crossref.py", line 56, in getPapersInfo for el in iterate_publications_as_json(max_results=30, queries=queries): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Python312\Lib\site-packages\crossref_commons\iteration.py", line 23, in iterate_publications_as_json results = json.loads(results) ^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Python312\Lib\json\__init__.py", line 346, in loads return _default_decoder.decode(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Python312\Lib\json\decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Python312\Lib\json\decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 10241 (char 10240)

Can you point me in the right direction?

ferru97 commented 1 month ago

Hi, sorry for the late reply, but PyPaperBot had been on standby until now. I've decided to resume development to improve it.

I've created a Telegram channel where you can suggest improvements, report bugs, or request custom data mining scripts. Feel free to join if you're interested with the following LINK

Thanks!