Issue title: Broken parsing works from request
 Issue body: Hello,

when I tried `ao3_work_ids.py` on the example to README, it returned no results (after removing the --lang from the other issue).
Note that I used python3, since I was unable to install dependencies for python2. 

I tracked the problem to function `get_id`, to the line `works = soup.find_all(class_="work blurb group")`. Apparently, when given multiple classes, find_all returns only the results where the class is exactly the argument. But the works in the list contain also other classes like `work-some_number`.

Based on this SO question:
https://stackoverflow.com/questions/40305678/beautifulsoup-multiple-class-selector
using `works = soup.select("li.work.blurb.group")` seems to work.
 Comments: 
 Comment 0: Adding on to say that I had a similar problem with the original ao3_works_id.py, and that this workaround seemed to work for me, but I then came across the problem of it not scraping everything in the search query. I’ve run it a few times and even after increasing the request delay to 10s, it still ends prematurely for me (~1-1.5k ids out of ~38k each time). 

Any advice?
 Comment 1: I scraped much less ids but I too got a little less (about 511 out of 521). But also, when fetching the works from ids I got lots of "Access Denied" (there's errors file with log), so perhaps same thing happened with ids?

I would say request delay has nothing to with that, AFAIK it's there in order not to flood the server with requests -- we should be nice to AO3 since it is for free.
 Comment 2: Same here, initial problem got solved by your suggestion but only a fraction of the requested work is scraped. Also every other row is blank, will try to investigate today. 
 Comment 3: @mitchondra thank you for identifying the fix for the selectors; I've added it to the main code. 
{'source': 'GithubIssues', 'repo_name_with_owner': 'radiolarian/AO3Scraper', 'issue_id': 834759485, 'repo_stars': 131.0}