modrzew / pokeminer

Pokemon location scraper
MIT License
220 stars 62 forks source link

No Sightings in a known good area #250

Closed ghost closed 8 years ago

ghost commented 8 years ago

Hey all.

I ran workers.py for about 18 hours yesterday then grabbed an sql viewer and found that my sightings table is empty.

Here is part of my config:

MAP_START = (45.964723, -66.669818) MAP_END = (45.935961, -66.635384) GRID = (3, 2)

I'm not getting any errors while running, so I'm not sure what the issue could be. My 6 workers all log in properly and seem to be doing their thing.

I'm running this with the -st 8 flag.

crhbetz commented 8 years ago

Did you check the logfile?

I'm running this with the -st 8 flag.

What's that supposed to do? I don't think we're using -st, or anything besides log-level and disabling the status overview?

ghost commented 8 years ago

The Log file, eh? Good call, I didn't think of that.

--EDIT-- I don't see a file that jumps out as a log file. Is there a flag I need to set when running to make it log?

I was using the setup instructions in the PokemonGo-Dev reddit. It could be out of date. How can I check what version I have/upgrade to the latest from the command line?

crhbetz commented 8 years ago

The Log file, eh? What are you, a Genius?

Seriously? I'm wasting my time trying to help you, and in return I get an insult? Good luck finding someone else.

ghost commented 8 years ago

No dude! That wasn't an Insult, it was a compliment! Honestly, that's a totally normal way of saying "Oh yeah, I should have thought of that!' in my neck of the woods!

I am super thankful for people like you who know what they're doing with these kinds of tools! I'm really sorry to have offended you. I edited the original response to make sure people don't think I was being a cheeky prick.

gunawanputra commented 8 years ago

what version that you use? newer version don't have -st argument

ghost commented 8 years ago

I thought I was using 0.5.4. Is there a way to tell by looking at the files?
I just checked my downloaded zip and it was just called Pokeminer-master

--edit-- I just downloaded again from the Latest Release and it has the version in the file name, so I'm def not using the latest.

What would be the best way to update? I can back up my config file and just extract the latest on top of what I have if that works...

gunawanputra commented 8 years ago

The best way to update is by using git, if there is any change you just have to make a pull command in git bash to update your local repo. Or you can check on the commit tab, look for any newest commit in there, then download any changed file(s) and replace them, instead of download entire zip released.

gunawanputra commented 8 years ago

check worker.log file in your pokeminer directory.

ghost commented 8 years ago

Awesome. Like an idiot I was using an old version. It seems to be running now, but I'm getting exceptions. I'm going to investigate them and see what I can find:

ghost commented 8 years ago

Thanks so much for your help. If you know Innenseide, please pass on that I wasn't trying to offend them.

crhbetz commented 8 years ago

@Corinos alright then. I'm not one to hold a grudge. Unlucky wording combined with a hard day at work on my part, and there you have a misunderstanding. I hope you'll get it up and running now!

ghost commented 8 years ago

@Innenseide So glad we're square! Mooks like me are eternally grateful for the time and effort people like you and @gunawanputra put in to keep us rolling.

I found that part of my issue was an old install of Python 2.7 so I did an uninstall of all my python stuff and started again with 3.5.2. I'm having a small issue with not being able to find vcvarsall.bat.

I have VS2015 installed, so I'm not sure what I'm going to do next, but I'm going to keep digging.

gunawanputra commented 8 years ago

Python 2.7 to 3.2 need Microsoft Visual C++ Compiler for Python 2.7. If you have VS2015 installed, better use python 3.5. check this link for more info. [https://blogs.msdn.microsoft.com/pythonengineering/2016/04/11/unable-to-find-vcvarsall-bat/]

gunawanputra commented 8 years ago

Ups I don't realize that your comment edited. If you use python 3.5.2 then it suppose won't have an issue because 3.5 and later use VS2015 as compiler. .Do you still have your last worker.log before python 2.7 uninstall? Could you show what error lines inside the log file? Currently I'm using python 2.7 and pokeminer still could running, at least till pokeminer v0.6.0 released.

ghost commented 8 years ago

This is what I was getting before I firebombed it: A wild exception appeared! Traceback (most recent call last): File "worker.py", line 107, in run provider=service, File "c:\python27\lib\site-packages\pgoapi\pgoapi.py", line 175, in login response = self.app_simulation_login() File "c:\python27\lib\site-packages\pgoapi\pgoapi.py", line 152, in app_simulation_login response = request.call() File "c:\python27\lib\site-packages\pgoapi\pgoapi.py", line 222, in call request.activate_signature(lib_path) File "c:\python27\lib\site-packages\pgoapi\rpc_api.py", line 81, in activate_signature self._signature_lib = ctypes.cdll.LoadLibrary(lib_path) File "c:\python27\lib\ctypesinit.py", line 440, in LoadLibrary return self._dlltype(name) File "c:\python27\lib\ctypesinit.py", line 362, in init self._handle = _dlopen(self._name, mode) WindowsError: [Error 126] The specified module could not be found

ghost commented 8 years ago

This is what I'm going to try tonight: http://stackoverflow.com/questions/33323172/vcvarsall-bat-needed-for-python-to-compile-missing-from-visual-studio-2015-v-1

gunawanputra commented 8 years ago

You get this error when there isn't encrypt.dll in pokeminer directory. If you don't have the file, you can download from this repo [https://github.com/TBTerra/spawnScan/tree/master/lib] or grab from the internet.

ghost commented 8 years ago

I def saw something about Encrypt at some point, but I thought that was because I didn't update my old Config file to match the specs for the new version of the program.

Where would I find encrypt.dll?

I used the tutorial that was in the original Reddit post here

It came from an older version, so some of the new things aren't accounted for.

gunawanputra commented 8 years ago

You can download from this repo [https://github.com/TBTerra/spawnScan/tree/master/lib]. Then edit ENCRYPT_PATH in config, put your dll file name in there. Or rename the file into encrypt.dll then you don't need to edit ENCRYPT_PATH.

ghost commented 8 years ago

Well I got it to run, but now I'm getting SQL based exceptions: sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: sightings.encounter_id

gunawanputra commented 8 years ago

Did you set up your sqlite db properly? use sqlitebrowser to browse your db and check your current db structure

ghost commented 8 years ago

The guide I used just said this: Python -i import db and finally db.Base.metadata.create_all(db.get_engine())

I have that browser, but I don't really know what I'm looking for.

Should I just recreate it? It could be the same one I did when I was in Python 2.7

ghost commented 8 years ago

image

gunawanputra commented 8 years ago

Recreate the db, there is encounter_id column in the newest sightings table structure. You could just add n encounter_id column with varchar(32) type to the sightings table, but better recreate the db, I don't know if there is other difference between older db structure and the new one.

amistad18 commented 8 years ago

Apply migrations/v0.5.0.sql

ghost commented 8 years ago

@amistad18 How do I do that?

amistad18 commented 8 years ago

Just open your database (phpliteadmin, db browser for sqlite, anything you like), and run that SQL query. If you will have some problems with make it VARCHAR(32), then just make it TEXT.

ghost commented 8 years ago

Awesome, so my only issue now is throttling. I have a delay of 12 and 6 workers. Any ideas?

amistad18 commented 8 years ago

What do you mean by throttling? Your workers are being killed all the time or what? Show us your config.py (without accounts details of course)

crhbetz commented 8 years ago

You mean Request throttled by server... slow down man ? I'm running my scanners at a 30 second delay and I still get this occasionally (about once every three hours per worker, on average). Doesn't hurt my results though. If yours seem fine, you should probably just ignore it.

ghost commented 8 years ago

I'm getting the Slow Down Man on all my workers all the time.

I'm using the latest pokeminer version, and I see that there was a fix for that a few days ago.

Here's my config:

coding: utf-8

from datetime import datetime

DB_ENGINE = 'sqlite:///db.sqlite' ENCRYPT_PATH = 'encrypt64bit.dll'

AREA_NAME = u'My Place Name' LANGUAGE = 'EN' # ISO 639-1 codes EN, DE, FR, and ZH currently supported. MAP_START = (Top left corner) MAP_END = (Bottom right corner) GRID = (3, 2) DISABLE_WORKERS = [] CYCLES_PER_WORKER = 3 SCAN_DELAY = 12 # seconds PROXIES = None # Insert dictionary with 'http' and 'https' keys to enable

SCAN_RADIUS = 70 # metres

ACCOUNTS = [ ('User1', '123abc', 'ptc'), ('user2', '123abc', 'ptc'), ('user3', '123abc', 'ptc'), ('user4', '123abc', 'ptc'), ('user5', '123abc', 'ptc'), ('user6', '123abc', 'ptc'), ]

TRASH_IDS = [13, 16, 19, 21, 41, 96] STAGE2 = [94, 139, 141, 149]

REPORT_SINCE = datetime(2016, 8, 17) GOOGLE_MAPS_KEY = '---my key here----' MAP_PROVIDER_URL = '//{s}.tile.osm.org/{z}/{x}/{y}.png' MAP_PROVIDER_ATTRIBUTION = '© OpenStreetMap contributors'

crhbetz commented 8 years ago

I don't think there's anything wrong with that, and if there was a significant problem with your config it likely wouldn't even run properly or at all.

If you look at the worker.py status overview, do your workers run most of the time? Do they display stuff like W0: C1,P15,64% ? Do you see some with C2 or C3? Do they get to 100% then reset?

If that's true, you're likely fine. Or are they all showing EXCEPTION all the time?

ghost commented 8 years ago

@Innenseide The workers only ever get to about 2% at the most before they throw an exception and reset.

ghost commented 8 years ago

I tried again today, just for shits and giggles, and they all threw exceptions right off the bad, but are now climbing. 8 and 9% with one restart. Here's hoping it's going to keep going.

ghost commented 8 years ago

Rolling in like sweet candy! I'm so jazzed! So do people usually leave this running for a few days and then work of that data, or is one full day enough? I foolishly set it all up on a laptop that I take with me, so I'll have to disconnect from the net to even get it home from work.