gism / filmaffinity2CSV

Get filmaffinity voted movies, save them to CSV and post them on IMDB
GNU Affero General Public License v3.0
18 stars 11 forks source link

Import to imdb fails #21

Open undy27 opened 1 year ago

undy27 commented 1 year ago

CSV export from FA works OK for me, but I get this error when I launch test_vote_imdb.py:

_DevTools listening on ws://127.0.0.1:61864/devtools/browser/0050951e-f294-4862-a68f-bdde9c9dde5c [61124:61748:1004/202517.588:ERROR:device_event_log_impl.cc(214)] [20:25:17.588] USB: usb_service_win.cc:415 Could not read device interface GUIDs: El sistema no puede encontrar el archivo especificado. (0x2) [61124:61748:1004/202517.591:ERROR:device_event_log_impl.cc(214)] [20:25:17.590] USB: usb_device_handle_win.cc:1048 Failed to read descriptor from node connection: Uno de los dispositivos conectados al sistema no funciona. (0x1F) Traceback (most recent call last): File "X:\appz_mm\filmaffinity2CSV\test_vote_imdb.py", line 100, in imdb.do_login() File "X:\appz_mm\filmaffinity2CSV\imdbHelper.py", line 77, in do_login search_box = driver.find_element_by_name('email') AttributeError: 'WebDriver' object has no attribute 'find_element_byname'

It doesn't create any CSV file, also

Thank for your work

gism commented 1 year ago

Hi, I'm no longer updating this part of the code. There were many changes on IMDB that affect the code

gism commented 1 year ago

After checking: AFAIK, there is no public IMDB API available.

on line 179 (imdbHelper.py) pattern = re.compile('"result_text"> <a href="\/title\/(tt\d+).*?>(.+?)<\/a>.*?\((\d+)\)',

This was regular expression to get movie title, movie year, and imdb movie id from page: https://www.imdb.com/find?ref_=nv_sr_sm&q=Movie+Tittle

Current imdb web design has changed and layout is different. Regular expresion shall be change to match:

<div class="ipc-metadata-list-summary-item__c">
  <div class="ipc-metadata-list-summary-item__tc">
    <a class="ipc-metadata-list-summary-item__t" role="button" tabindex="0" aria-disabled="false" href="/title/tt0092997/?ref_=fn_al_tt_1">Extreme Prejudice</a>
    <ul class="ipc-inline-list ipc-inline-list--show-dividers ipc-inline-list--no-wrap ipc-inline-list--inline ipc-metadata-list-summary-item__tl base" role="presentation">
      <li role="presentation" class="ipc-inline-list__item">
        <label class="ipc-metadata-list-summary-item__li" role="button" tabindex="0" aria-disabled="false" for="_blank">1987</label>
      </li>
    </ul>
    <ul class="ipc-inline-list ipc-inline-list--show-dividers ipc-inline-list--no-wrap ipc-inline-list--inline ipc-metadata-list-summary-item__stl base" role="presentation">
      <li role="presentation" class="ipc-inline-list__item">
        <label class="ipc-metadata-list-summary-item__li" role="button" tabindex="0" aria-disabled="false" for="_blank">Nick Nolte, Powers Boothe</label>
      </li>
    </ul>
  </div>
  <div class="ipc-metadata-list-summary-item__cc"></div>
</div>

Provably it is better to use bs4 to solve it.