moglum / rotten-tomatoes-letterboxd Goto Github PK
View Code? Open in Web Editor NEWA simple Node.js script to retrieve your Rotten Tomatoes reviews for import to Letterboxd.
A simple Node.js script to retrieve your Rotten Tomatoes reviews for import to Letterboxd.
Hi
Firstly, many thanks for making this available!
I'm getting an empty Directors field for all movies in the CSV.
Scrolling to the end of my reviews page gives me 1,419 movies rated (counted with Ctrl F), but I'm only getting 1,318 in the CSV.
A few of my reviews contain linefeed characters, which is not* handled in the CSV. They should probably be converted to spaces.
I also have 352 entries on my WTS list. Replacing movieRatings with wts in the index.js URI suggests it's possible to export them, but the format returned is different – no review age for instance – and the script stops. Any ideas?
My Rotten Tomatoes ID is 136857423 if you have time to take a look.
Regards and thanks again.
*Apologies, it depends what I use to open or import the file. If you want to find them to confirm, many are adjacent to literal <br>s.
Hey there, not big on programming, but after I going through this maze of new stuff it ended up on a dead end:
It only imported the first page of movies and repeated them ad nauseum.
Then I went back to Rotten Tomatoes and it seems they did away with the infinite loading and now you must click for the next page.
Any chance you could update the code eventually? Really need to get rid of rotten tomatoes.
Cheers
I get this:
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: node index.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/santiago/.npm/_logs/2020-05-20T06_30_30_522Z-debug.log
For those of you who would also like to convert convert your "want to see" list into CSV format, this just requires a couple small tweaks to the index.js script. This also answers Issue #2 asked by @southisup.
If I get a response to this, I will submit a pull request which can allow for CSV for both myRatings and wts.
Otherwise you can just copy this gist into index.js. Cheers.
const rp = require('request-promise-native')
const fs = require('fs')
const { DateTime } = require('luxon')
const URI = 'https://www.rottentomatoes.com/napi/userProfile/wts/'
// Change to your Rotten Tomatoes user ID
const USER_ID = 'YOUR_ID'
async function getRatings(cursor) {
try {
let res = await rp({
uri: URI + USER_ID,
json: true,
qs: { endCursor: cursor },
})
console.log('Got a chunk.')
if (res.pageInfo.hasNextPage) {
let nextRatings = await getRatings(res.pageInfo.endCursor)
return res.wtsMedia.concat(nextRatings)
} else {
return res.wtsMedia
}
} catch (err) {
console.error('Oops, something went wrong!', err)
}
}
function createImportFile(ratings) {
let out = 'Title, Year'
ratings.forEach(r => {
if (!r) {
return
}
if (!r.item) {
return
}
let {
item: { title, releaseYear },
} = r
out += `"${title}",${releaseYear} \n`
})
fs.writeFile('importMeWTS.csv', out, 'utf8', err => {
if (err) console.log(err)
console.log('Import file created - importMeWTS.csv')
})
}
getRatings()
.then(ratings => {
fs.writeFileSync(
'rawRatings.json',
JSON.stringify(ratings, null, 2),
'utf8'
)
console.log('Raw ratings file created - rawRatings.json')
createImportFile(ratings)
})
.catch(err => console.error(err))
// let ratings = JSON.parse(fs.readFileSync('rawRatings.json'))
// createImportFile(ratings)
Hey :)
I've tested your script and it won't work :(
Here's the error i get :
`➜ rotten-tomatoes-letterboxd git:(master) ✗ npm start
[email protected] start
node index.js
Oops, something went wrong! RequestError: TypeError [ERR_INVALID_CHAR]: Invalid character in header content ["cookie"]
at new RequestError (/Users/pierre-nicolas/sandbox/rotten-tomatoes-letterboxd/node_modules/request-promise-core/lib/errors.js:14:15)
at Request.plumbing.callback (/Users/pierre-nicolas/sandbox/rotten-tomatoes-letterboxd/node_modules/request-promise-core/lib/plumbing.js:87:29)
at Request.RP$callback [as _callback] (/Users/pierre-nicolas/sandbox/rotten-tomatoes-letterboxd/node_modules/request-promise-core/lib/plumbing.js:46:31)
at self.callback (/Users/pierre-nicolas/sandbox/rotten-tomatoes-letterboxd/node_modules/request/request.js:185:22)
at Request.emit (node:events:527:28)
at Request.start (/Users/pierre-nicolas/sandbox/rotten-tomatoes-letterboxd/node_modules/request/request.js:753:10)
at Request.end (/Users/pierre-nicolas/sandbox/rotten-tomatoes-letterboxd/node_modules/request/request.js:1511:10)
... 2 lines matching cause stack trace ...
at processImmediate (node:internal/timers:466:21) {
cause: TypeError [ERR_INVALID_CHAR]: Invalid character in header content ["cookie"]
at ClientRequest.setHeader (node:_http_outgoing:579:3)
at new ClientRequest (node:_http_client:262:14)
at Object.request (node:https:353:10)
at Request.start (/Users/pierre-nicolas/sandbox/rotten-tomatoes-letterboxd/node_modules/request/request.js:751:32)
at Request.end (/Users/pierre-nicolas/sandbox/rotten-tomatoes-letterboxd/node_modules/request/request.js:1511:10)
at end (/Users/pierre-nicolas/sandbox/rotten-tomatoes-letterboxd/node_modules/request/request.js:564:14)
at Immediate. (/Users/pierre-nicolas/sandbox/rotten-tomatoes-letterboxd/node_modules/request/request.js:578:7)
at processImmediate (node:internal/timers:466:21) {
code: 'ERR_INVALID_CHAR'
},
error: TypeError [ERR_INVALID_CHAR]: Invalid character in header content ["cookie"]
at ClientRequest.setHeader (node:_http_outgoing:579:3)
at new ClientRequest (node:_http_client:262:14)
at Object.request (node:https:353:10)
at Request.start (/Users/pierre-nicolas/sandbox/rotten-tomatoes-letterboxd/node_modules/request/request.js:751:32)
at Request.end (/Users/pierre-nicolas/sandbox/rotten-tomatoes-letterboxd/node_modules/request/request.js:1511:10)
at end (/Users/pierre-nicolas/sandbox/rotten-tomatoes-letterboxd/node_modules/request/request.js:564:14)
at Immediate. (/Users/pierre-nicolas/sandbox/rotten-tomatoes-letterboxd/node_modules/request/request.js:578:7)
at processImmediate (node:internal/timers:466:21) {
code: 'ERR_INVALID_CHAR'
},
options: {
uri: 'https://www.rottentomatoes.com/napi/userProfile/movieRatings/Rk6fJ6FlPIvGIe8t2QcQkTBqiAACN4iJ9HNjTdYInnCx6iogFDrFvbiZZC6vidAiRBClwcGGC9btPaILjHpVF2Vfdxh9ohZbuBqiWJSkOham',
json: true,
qs: { endCursor: undefined },
headers: {
cookie: "curl 'https://www.rottentomatoes.com/profiles/Rk6fJ6FlPIvGIe8t2QcQkTBqiAACN4iJ9HNjTdYInnCx6iogFDrFvbiZZC6vidAiRBClwcGGC9btPaILjHpVF2Vfdxh9ohZbuBqiWJSkOham' \\n" +
" -H 'authority: www.rottentomatoes.com' \\n" +
" -H 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.7' \\n" +
" -H 'accept-language: fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7' \\n" +
" -H 'cache-control: max-age=0' \\n" +
-H 'cookie: akacd_RTReplatform=2177452799~rv=87~id=4edea432f05c395924a44df78ba30c60; _cb=BmqJnyCCV69kCHnL44; _admrla=2.2-d30af6c12eb177e9-def014fe-fe0d-11ed-9985-0fa56e2afb8c; QuantumMetricUserID=4bfabf0f3095bb46b3c513e2333f79e7; OptanonAlertBoxClosed=2023-05-29T10:57:38.350Z; OTAdditionalConsentString=1~43.70.89.122.149.162.266.311.449.482.505.523.1033.1097.1127.1419.1456.1465.1558.1712.1725.1810.1845.1942.2109.2135.2334.2343.2571.2572.2577.2605.2628.2646.2657.2677.2707.2912.2958.3005.3024.3038.3118.3180.3292.3296.3300.3306.3307.3308.3314.3315.3316.3318.3324.3327.3328.3330.3531.3831.3931; usprivacy=1---; _ALGOLIA=anonymous-57acea0e-3e8c-4391-90d6-bb428af7514f; number_of_review_starts=1; eXr91Jra=A72EHGeIAQAAJKAlTZbC4zPvOXAK2M-4TBtI0pat5BDONi7va1hfjCNEIaKjAVJ_CSqucn0ewH8AAOfvAAAAAA|1|1|7c786a3378c36d9ac192169ee895be0cbf4272e0; fw_vcid2=f4ce1be8-adaa-4f74-aa1d-b080150a376c; akamai_generated_location={"zip":"""","city":"AUBERVILLIERS","state":"IDF","county":"""","areacode":"""","lat":"48.92","long":"2.38","countrycode":"FR"}; ak_bmsc=15E683415623B5BB796A938DFC1E6704~000000000000000000000000000000~YAAQyONIFxmoiPmKAQAAszhlGRVr/fBmOcC+b7qFC2grPopw/scxmhEIiC3/LduKKyQOznom4/05WjCGCbEb+GRnTS+nXU9qAmQQlcsEjCfw5G1vhLPGMLX25VQMhiWuqEwnOYBgSY8JZjrZP7gC0DUIpBDPRM6etPZqVVbg3FqTaEJiVxEpx/0Y2kiAGYVJvRdOuiWLPsu2MYgR+mB+7At6WqybQS3TQs0uUk8RviqntDlKBhi9U1KueetC2zPNZdoj3iX2r2Vt91PjEk4SVEhV16UFUul/Y1evX3Xuc4c7EIkks+rQ9hB3XM86OJmJtvnXQCr0Fg106wFXiB7jeNtPISRQhQYLfXjNgh3rjxHOMSZwTMdmA+Ammf7YenOrimaITeEJivK7npfcH4Up; check=true; algoliaUT=92913676-6751-43b4-a218-d0c85c86ecde; AMCVS_8CF467C25245AE3F0A490D4C%40AdobeOrg=1; AMCV_8CF467C25245AE3F0A490D4C%40AdobeOrg=-408604571%7CMCMID%7C21593905255393131281902671583912764916%7CMCAAMLH-1697542947%7C6%7CMCAAMB-1697542947%7CRKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y%7CMCOPTOUT-1696945347s%7CNONE%7CvVersion%7C4.6.0%7CMCIDTS%7C19641; s_cc=true; eupubconsent-v2=CPshhTAPshhTAAcABBENDaCgAP_AAAAAACiQHGtf_X_fb2_j-_58f_t0eY1P9_7_v20zjhedE-8Nyd_X_L8X52M5vB16pqoKuR4ku3LBAQVlHOHcDUmw6IkVqSPsbk2Mr7NKJ7PEmlMbM2dYGH97n1XT-ZKY79_vf__z_v-v___977__7-3f3_vp_9--22AAAAQJABAXmOgAgLzJQAQF5lIAIC8w.f_gAAAAAAAAA; __host_color_scheme=W6g7HV0V-s-XpO4Y8ngJxi1e8ZV1srWGctcAtX1r95CHsDzakdjE; __host_theme_options=1696938146698; _cb_svref=null; QuantumMetricSessionID=0e0f6d578ad1808f9b55d7404e6ae764; QSI_ReplaySession_SampledOut_ZN_6SDb0uWojRgLmmN=true; cognito=%7B%22accessToken%22%3A%22eyJraWQiOiIyb21zK2VhNml0UCs1RHZmUGxrXC9qdG5uWWpXTzFqR0dzUUJEWHdOQXJQWT0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIzOTdhZGU1NC00MGRhLTRjOTQtYTRlZi1hNzBjMzY2ODQyNjQiLCJ0b2tlbl91c2UiOiJhY2Nlc3MiLCJzY29wZSI6ImF3cy5jb2duaXRvLnNpZ25pbi51c2VyLmFkbWluIG9wZW5pZCBwcm9maWxlIGVtYWlsIiwiYXV0aF90aW1lIjoxNjk2OTM4MTU4LCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAudXMtd2VzdC0yLmFtYXpvbmF3cy5jb21cL3VzLXdlc3QtMl80TDBaWDRiMVUiLCJleHAiOjE2OTY5NDE3NTgsImlhdCI6MTY5NjkzODE1OSwidmVyc2lvbiI6MiwianRpIjoiOTg2ZTYzZjAtMmUyYi00MGZhLWEzODctNTE4NDMzNjRkODNkIiwiY2xpZW50X2lkIjoiN3B1NDh2OGkybjI1dDR2aGVzMGVkY2szMWMiLCJ1c2VybmFtZSI6IjM5N2FkZTU0LTQwZGEtNGM5NC1hNGVmLWE3MGMzNjY4NDI2NCJ9.IxAwDPT-97zpEmAWETO3jN97i1VeICZdHYP9rRhGqnfJvPM3Q0ZheJy5aHXZvdiC8Y5C9Ef-VEbWHEDJxIr64-NIrp-Fl3dzA_duYgFwSHQ5D_SCPwfR5Hl4aVU5-bNL0mBNXuzpX_ZduaSO2N48gMzUlA3GPEOuYmEd5xif1adZOZU1iu0pQqnMDpu--KpUGp_HhMepJTrgppZKxudPMNH1tI2LBWLhcT2cBrl_AsNfimnZW6Bxg5eTbt5_kIjbYezQ-WsVMS1OlDQ5M6DmG59YG5xlNdIqvojdUkviXrVjWPlCSVsCL-lYYhmWIWD4mG4ePNdwvpERyyYcb-utkg%22%2C%22refreshToken%22%3A%22eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAifQ.rTsb9PxMgfLRcCEZC4Ki6p5SBTbzGkwiptC8Ifs_AK_VSi4euO2RFxd9KadJFrB6It2NtMVwsFDwGuhus46yi6CzZLUaVf09vDHA41Hnvvx-ASOC6PK3NwgzITI6qOAAqER4CxauBxG8g2097HMvnV9k33BuNNbFaX4Yu5rN6Cvm46L-_aolsihe40v3qXhFnoxqWx9FY2inSslxNfrjwi4jk2JWXw6epgTZvV7Yk8TI7-_YZ_pr2udOarCk7aMT7sde2NI1N6VN4HI8RgWwL5v9bicfUwNAl-eiXHsMStjPswxCHXFmd9Yv_aDNcBDEWMpqJTcOl7Vk2VBx1JLdqQ.klpjTIVTU2R4m2Li.-MwNSwE1SgNVO9g7I_5yPHdD-DE8NLRXilHiVWwphntUevv9B01Y4QFyHukaXaSN9godUTcw93HeLPWeohjeI8WHD66sutWM-RDwtZshxiIUvjuvQYoJaj9CmMiK9UAT84JnkeEIS9c9hwGjOYEAoQqKuOm-CawDeiF3eYThDiy0ERN9RDDKaeKXFFYBzTAmBYNEucHd4aDModOLjQQqNQpYvDdCMpiFX4ntD98SHSH1xCgc7SHghVu9ECN_3M402QKmKyK-Q-w106kgX_4o5UTGtcaEGYNN0y2p8MBCWYNlcR1pvp7kTPrUN8BkL0BiLtEtRvCE85-YZgpdMZSH-OUaKcQ3A55Y0lOf1Zq0zxhGdNZoBLfuAwfxE5D0ZWmXr-793VIvGfh3YCd5SP7LHNrrBfvPeDIHMkgykBdf2lOTdK20q72aPQxmHoV8JQVLEhMp8_SVC4LgR7srRIYEgh99nONN7RTTP3XI1Vm6DHHGAH9iqntRxW5Ffx8A7dUwx_3m-YGhMa0P-nwEj6mYLACjLNyXyTGqcflj9pK57NRj5qDMWhTFr9SzGFl9LVCHVfGVG_32pJMyC4N5JEAmq4pGFbA6Wckza7DERrk5A2LljjxCx34NN4yVUPSCKBltek0znQOL-cCcqkbkGk7DwVnLAFSybj0CJEPj30qYqX0To5cnQJEPiQrH4X0pr3RvWA96n5VD8bAexFwBkCOiGEAQIFNCuUMxH1uXq2ihnLqIS1RjwNnnTlXGk-NBFUYxbZMG5AmI2E6A-jcZczouUfdqYTK-BBrGkuCtF_UhmktM61zjk-gcQ0oGAcENetoTIpWGQCngVr_7UoRDHyL8MtXYCZuvZZ7r52n5_ann3HgKF82HnWgkJeBHFzlY19VdY_NnBaiO1dNhsqbkAhdc-BdlOzWLdkhBJv19HQ7j_9zJS8rowec4tNiNbVci49AkZ1OscKzCAik1VJBYhVDhIif7GEEZiaTiBktNe0LZiBO7RkPFvqqGv3f4-O7isgvrj3Ge7ok5oAu-vPxNnYDDIdROvywAFbx5WpLIfjFXYSv3B3BNL0wqYT3ypeL3nCFRvuvc9vkdNUg64DpHMnhJhoGZzerfziYuqL3zB9Aw_5JwxhyG6BvJObn_PSO8G5umDSwYUDhI_5q1okpAoRtT-DIQCyTPbO7LESWbtGBJeK9ERue9eOsgYLJcJ3-Dxz0EwMQ0I_AUkduZNqlC3EbRGflL-XCVW5tI9P-GihDcnfqON-m5JoIrYeNQxnDldhT9xnO_wzwwQlhnHasckRDRTYbFqqDkOZCR.lQuWqe5prmLvvVdz2g7M_Q%22%7D; id_token=eyJraWQiOiIxZVQySkNHWGdmRStSSis0bW5YYnNcLzVXU2NPU0hyM2NYV1pmWWpmeHhFST0iLCJhbGciOiJSUzI1NiJ9.eyJhdF9oYXNoIjoiSWRvSmRVTzh4aFhtR09GYVJTMUxoZyIsInN1YiI6IjM5N2FkZTU0LTQwZGEtNGM5NC1hNGVmLWE3MGMzNjY4NDI2NCIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLXdlc3QtMi5hbWF6b25hd3MuY29tXC91cy13ZXN0LTJfNEwwWlg0YjFVIiwiY29nbml0bzp1c2VybmFtZSI6IjM5N2FkZTU0LTQwZGEtNGM5NC1hNGVmLWE3MGMzNjY4NDI2NCIsImdpdmVuX25hbWUiOiJQaWVycmUtTmljb2xhcyIsIm5vbmNlIjoiZ0NMbGN0R3ZMdFhSaDVtSVFmZ0JudGFKTVBVZmp3YnBFeXFlMlhTdURiX1k5cUJYU3FqTzM0WG0ycTQ1YUtyX0NHbEdSdG5EVXpkb3k1QTRMc18tT3hTZDQxVGlUeHRwWExFZVd4NEdTMGVMY1dBYWNaZmxVZE1LUzRpanU2alFONzNvUXFRWTNyb05TaUlJa2FMTnVXSTczUzZYblBWTmx5SnFhRkNLRTZzIiwicGljdHVyZSI6Imh0dHBzOlwvXC9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tXC9hXC9BQ2c4b2NJOHh3TTZfTE5aRjBEMnZXT1A1d1FVa3JfbzJMdEQtMG4xekkyeDBvVXB4Mm05PXM5Ni1jIiwiYXVkIjoiN3B1NDh2OGkybjI1dDR2aGVzMGVkY2szMWMiLCJpZGVudGl0aWVzIjpbeyJ1c2VySWQiOiIxMTM3MDQ1MTA3NTc1MDkzMzI2NzYiLCJwcm92aWRlck5hbWUiOiJHb29nbGUiLCJwcm92aWRlclR5cGUiOiJHb29nbGUiLCJpc3N1ZXIiOm51bGwsInByaW1hcnkiOiJmYWxzZSIsImRhdGVDcmVhdGVkIjoiMTY4MjI4NjUzOTk0NiJ9XSwidG9rZW5fdXNlIjoiaWQiLCJjdXN0b206c2lnbnVwX2RhdGUiOiIyMDIyLTA4LTI1IDIxOjQxOjI3IFVUQyIsImN1c3RvbTpydF9pZCI6Ijk3OTUzMTgwNSIsImF1dGhfdGltZSI6MTY5NjkzODE1OCwiZXhwIjoxNjk2OTQxNzU4LCJpYXQiOjE2OTY5MzgxNTksImZhbWlseV9uYW1lIjoiWmluc291IiwiZW1haWwiOiJwbnppbnNvdUBnbWFpbC5jb20iLCJjdXN0b206Y291bnRyeV9jb2RlIjoiRlIifQ.Ko57lSZw6j-Tn6BVBgNe4kDPt4Mi9RiP_nHz89W-tuTXaxPToe-Bq5a2AlNhcq__8vgVw_TFu2YGu_cza5DB_cOuKCPlgmFf-qYKuC2liNPntysL-WlhnWnIjbtL8kDSKrrVogIiItCL7kUqQWm9G0Udcp_coYSszQaSJEJ0gAyTiSxoltjLUG4m9Xyu85Fy1hBaedJOfv4X00ri9SHjRSH4YkCZTfJS_zU57AF0_VlhsmcnNKvphQOtlzW1MFzNgoqm03YJFaCBtNR_XhQafvPD6Z6LVmVf-F1OB8MmfmQ8NtVFMv3D4IR-ilcqMYFQK4P-n9xyg0BmGF5Vfesf5A; __gads=ID=8470b7da7dccffd6:T=1685357858:RT=1696938169:S=ALNI_MaIS1BGNNFE5SptaGCaPIMuy1s0pA; __gpi=UID=00000c37fa5c1f07:T=1685357858:RT=1696938169:S=ALNI_MbL9f0TevXFwhoQ8GJ6U1K5yQjttw; OptanonConsent=isIABGlobal=false&datestamp=Tue+Oct+10+2023+13%3A42%3A52+GMT%2B0200+(heure+d%E2%80%99%C3%A9t%C3%A9+d%E2%80%99Europe+centrale)&version=202209.1.0&hosts=&consentId=ba3cb9e3-5428-4215-a146-d4ce4c559d01&interactionCount=2&landingPath=NotLandingPage&groups=dummy%3A1%2CFOOF%3A1%2C1%3A1%2C6%3A1%2C4%3A1%2CSTACK8%3A1%2C7%3A1%2CSTACK16%3A1&AwaitingReconsent=false&geolocation=FR%3B; mbox=PC#76a5e2e3ab3244e6b2b24fc12170c500.37_0#1760182973|session#da3097cfdf13449e8da7190776d7eaf6#1696940033; s_sq=%5B%5BB%5D%5D; _chartbeat2=.1647722719285.1696938172646.0000000000000001.CvXuu3B05nI6CiyphIBTtUNEDgErJg.7; sailthru_pageviews=6; mps_uuid=64807ddb-ad8f-4d20-b35e-60816e62111b; _awl=2.1696938173.5-9ff33f73f7bbc06bff083af0e86cc658-6763652d6575726f70652d7765737431-7; bm_sv=F3D95187AF75C9CB3940B340BAF3D093~YAAQyONIF1G6iPmKAQAAC6NlGRVjD6+hh4gsBlrLmAg5gFyGez8iBWLbmR8FQr7fAnyaFX4HQ1pA11gU/CRYR8iMFqmzRSR4dJP/TdX/uZyTTj4oMlDVElwmV6O+2tsKMscBvC1eWXv7ROShtlFrdMtVcwiJf2KMwPMeHa9Qmd0t7/vpbMJdDfgYYaE1gk6BfmX9qcVysYLXbYoIxLomAZJchwYtrWqWO0SzS0reH7LXsn2HMk2rEH8TpDdnmRy7MAMRokZzslXJ~1; QSI_HistorySession=https%3A%2F%2Fwww.rottentomatoes.com%2F~1696938148963%7Chttps%3A%2F%2Fwww.rottentomatoes.com%2Fauth%2Fstart%3Fref%3D%252F~1696938149554%7Chttps%3A%2F%2Fwww.rottentomatoes.com%2F~1696938151087%7Chttps%3A%2F%2Fwww.rottentomatoes.com%2Fprofiles%2FRk6fJ6FlPIvGIe8t2QcQkTBqiAACN4iJ9HNjTdYInnCx6iogFDrFvbiZZC6vidAiRBClwcGGC9btPaILjHpVF2Vfdxh9ohZbuBqiWJSkOham~1696938173115; cto_bundle=SuNA719ZRVJLZjVKdDFmUHdEajNsQXdKbHZmQlJ1clM2cmJyeVE4d2I4SU1LN1F1OUVpTXJINlo2V2VxYVdOVGc2dVRXeEw4OXZ4NWczWXlzOWVieWxTcDFUT3Rwb3E5RU4zYWlzZmZrOVBLOHJIRWFSTTRVZjhlUkJ4TUhsJTJGTVYlMkYzWU9OemcwQzBGOUNuUXA2djg4T2tsWlRnVmhudXJhcWdDYU9aZExzTjFyTHM0JTNE' \\\n
+
-H 'if-none-match: W/"15b70-ZjZXQ/U58nfXbBRV4aSTHPTFHss"' \\\n
+
" -H 'referer: https://www.rottentomatoes.com/' \\n" +
-H 'sec-ch-ua: "Google Chrome";v="117", "Not;A=Brand";v="8", "Chromium";v="117"' \\\n
+
" -H 'sec-ch-ua-mobile: ?0' \\n" +
-H 'sec-ch-ua-platform: "macOS"' \\\n
+
" -H 'sec-fetch-dest: document' \\n" +
" -H 'sec-fetch-mode: navigate' \\n" +
" -H 'sec-fetch-site: same-origin' \\n" +
" -H 'sec-fetch-user: ?1' \\n" +
" -H 'upgrade-insecure-requests: 1' \\n" +
" -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36' \\n" +
' --compressed'
},
callback: [Function: RP$callback],
transform: undefined,
simple: true,
resolveWithFullResponse: false,
transform2xxOnly: false
},
response: undefined
}
TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received undefined
at Object.writeFileSync (node:fs:2163:5)
at /Users/pierre-nicolas/sandbox/rotten-tomatoes-letterboxd/index.js:94:8 {
code: 'ERR_INVALID_ARG_TYPE'
}
➜ rotten-tomatoes-letterboxd git:(master) ✗
`
And my code is :
const USER_ID = 'Rk6fJ6FlPIvGIe8t2QcQkTBqiAACN4iJ9HNjTdYInnCx6iogFDrFvbiZZC6vidAiRBClwcGGC9btPaILjHpVF2Vfdxh9ohZbuBqiWJSkOham'
const COOKIE = 'curl 'https://www.rottentomatoes.com/profiles/Rk6fJ6FlPIvGIe8t2QcQkTBqiAACN4iJ9HNjTdYInnCx6iogFDrFvbiZZC6vidAiRBClwcGGC9btPaILjHpVF2Vfdxh9ohZbuBqiWJSkOham\' \\n' +
' -H 'authority: www.rottentomatoes.com\' \\n' +
' -H 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.7' \\n' +
' -H 'accept-language: fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7' \\n' +
' -H 'cache-control: max-age=0' \\n' +
' -H 'cookie: akacd_RTReplatform=2177452799rv=87id=4edea432f05c395924a44df78ba30c60; _cb=BmqJnyCCV69kCHnL44; _admrla=2.2-d30af6c12eb177e9-def014fe-fe0d-11ed-9985-0fa56e2afb8c; QuantumMetricUserID=4bfabf0f3095bb46b3c513e2333f79e7; OptanonAlertBoxClosed=2023-05-29T10:57:38.350Z; OTAdditionalConsentString=143.70.89.122.149.162.266.311.449.482.505.523.1033.1097.1127.1419.1456.1465.1558.1712.1725.1810.1845.1942.2109.2135.2334.2343.2571.2572.2577.2605.2628.2646.2657.2677.2707.2912.2958.3005.3024.3038.3118.3180.3292.3296.3300.3306.3307.3308.3314.3315.3316.3318.3324.3327.3328.3330.3531.3831.3931; usprivacy=1---; _ALGOLIA=anonymous-57acea0e-3e8c-4391-90d6-bb428af7514f; number_of_review_starts=1; eXr91Jra=A72EHGeIAQAAJKAlTZbC4zPvOXAK2M-4TBtI0pat5BDONi7va1hfjCNEIaKjAVJ_CSqucn0ewH8AAOfvAAAAAA|1|1|7c786a3378c36d9ac192169ee895be0cbf4272e0; fw_vcid2=f4ce1be8-adaa-4f74-aa1d-b080150a376c; akamai_generated_location={"zip":"""","city":"AUBERVILLIERS","state":"IDF","county":"""","areacode":"""","lat":"48.92","long":"2.38","countrycode":"FR"}; ak_bmsc=15E683415623B5BB796A938DFC1E6704000000000000000000000000000000YAAQyONIFxmoiPmKAQAAszhlGRVr/fBmOcC+b7qFC2grPopw/scxmhEIiC3/LduKKyQOznom4/05WjCGCbEb+GRnTS+nXU9qAmQQlcsEjCfw5G1vhLPGMLX25VQMhiWuqEwnOYBgSY8JZjrZP7gC0DUIpBDPRM6etPZqVVbg3FqTaEJiVxEpx/0Y2kiAGYVJvRdOuiWLPsu2MYgR+mB+7At6WqybQS3TQs0uUk8RviqntDlKBhi9U1KueetC2zPNZdoj3iX2r2Vt91PjEk4SVEhV16UFUul/Y1evX3Xuc4c7EIkks+rQ9hB3XM86OJmJtvnXQCr0Fg106wFXiB7jeNtPISRQhQYLfXjNgh3rjxHOMSZwTMdmA+Ammf7YenOrimaITeEJivK7npfcH4Up; check=true; algoliaUT=92913676-6751-43b4-a218-d0c85c86ecde; AMCVS_8CF467C25245AE3F0A490D4C%40AdobeOrg=1; AMCV_8CF467C25245AE3F0A490D4C%40AdobeOrg=-408604571%7CMCMID%7C21593905255393131281902671583912764916%7CMCAAMLH-1697542947%7C6%7CMCAAMB-1697542947%7CRKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y%7CMCOPTOUT-1696945347s%7CNONE%7CvVersion%7C4.6.0%7CMCIDTS%7C19641; s_cc=true; eupubconsent-v2=CPshhTAPshhTAAcABBENDaCgAP_AAAAAACiQHGtf_X_fb2_j-_58f_t0eY1P9_7_v20zjhedE-8Nyd_X_L8X52M5vB16pqoKuR4ku3LBAQVlHOHcDUmw6IkVqSPsbk2Mr7NKJ7PEmlMbM2dYGH97n1XT-ZKY79_vf__z_v-v___977__7-3f3_vp_9--22AAAAQJABAXmOgAgLzJQAQF5lIAIC8w.f_gAAAAAAAAA; __host_color_scheme=W6g7HV0V-s-XpO4Y8ngJxi1e8ZV1srWGctcAtX1r95CHsDzakdjE; __host_theme_options=1696938146698; _cb_svref=null; QuantumMetricSessionID=0e0f6d578ad1808f9b55d7404e6ae764; QSI_ReplaySession_SampledOut_ZN_6SDb0uWojRgLmmN=true; cognito=%7B%22accessToken%22%3A%22eyJraWQiOiIyb21zK2VhNml0UCs1RHZmUGxrXC9qdG5uWWpXTzFqR0dzUUJEWHdOQXJQWT0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIzOTdhZGU1NC00MGRhLTRjOTQtYTRlZi1hNzBjMzY2ODQyNjQiLCJ0b2tlbl91c2UiOiJhY2Nlc3MiLCJzY29wZSI6ImF3cy5jb2duaXRvLnNpZ25pbi51c2VyLmFkbWluIG9wZW5pZCBwcm9maWxlIGVtYWlsIiwiYXV0aF90aW1lIjoxNjk2OTM4MTU4LCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAudXMtd2VzdC0yLmFtYXpvbmF3cy5jb21cL3VzLXdlc3QtMl80TDBaWDRiMVUiLCJleHAiOjE2OTY5NDE3NTgsImlhdCI6MTY5NjkzODE1OSwidmVyc2lvbiI6MiwianRpIjoiOTg2ZTYzZjAtMmUyYi00MGZhLWEzODctNTE4NDMzNjRkODNkIiwiY2xpZW50X2lkIjoiN3B1NDh2OGkybjI1dDR2aGVzMGVkY2szMWMiLCJ1c2VybmFtZSI6IjM5N2FkZTU0LTQwZGEtNGM5NC1hNGVmLWE3MGMzNjY4NDI2NCJ9.IxAwDPT-97zpEmAWETO3jN97i1VeICZdHYP9rRhGqnfJvPM3Q0ZheJy5aHXZvdiC8Y5C9Ef-VEbWHEDJxIr64-NIrp-Fl3dzA_duYgFwSHQ5D_SCPwfR5Hl4aVU5-bNL0mBNXuzpX_ZduaSO2N48gMzUlA3GPEOuYmEd5xif1adZOZU1iu0pQqnMDpu--KpUGp_HhMepJTrgppZKxudPMNH1tI2LBWLhcT2cBrl_AsNfimnZW6Bxg5eTbt5_kIjbYezQ-WsVMS1OlDQ5M6DmG59YG5xlNdIqvojdUkviXrVjWPlCSVsCL-lYYhmWIWD4mG4ePNdwvpERyyYcb-utkg%22%2C%22refreshToken%22%3A%22eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAifQ.rTsb9PxMgfLRcCEZC4Ki6p5SBTbzGkwiptC8Ifs_AK_VSi4euO2RFxd9KadJFrB6It2NtMVwsFDwGuhus46yi6CzZLUaVf09vDHA41Hnvvx-ASOC6PK3NwgzITI6qOAAqER4CxauBxG8g2097HMvnV9k33BuNNbFaX4Yu5rN6Cvm46L-_aolsihe40v3qXhFnoxqWx9FY2inSslxNfrjwi4jk2JWXw6epgTZvV7Yk8TI7-_YZ_pr2udOarCk7aMT7sde2NI1N6VN4HI8RgWwL5v9bicfUwNAl-eiXHsMStjPswxCHXFmd9Yv_aDNcBDEWMpqJTcOl7Vk2VBx1JLdqQ.klpjTIVTU2R4m2Li.-MwNSwE1SgNVO9g7I_5yPHdD-DE8NLRXilHiVWwphntUevv9B01Y4QFyHukaXaSN9godUTcw93HeLPWeohjeI8WHD66sutWM-RDwtZshxiIUvjuvQYoJaj9CmMiK9UAT84JnkeEIS9c9hwGjOYEAoQqKuOm-CawDeiF3eYThDiy0ERN9RDDKaeKXFFYBzTAmBYNEucHd4aDModOLjQQqNQpYvDdCMpiFX4ntD98SHSH1xCgc7SHghVu9ECN_3M402QKmKyK-Q-w106kgX_4o5UTGtcaEGYNN0y2p8MBCWYNlcR1pvp7kTPrUN8BkL0BiLtEtRvCE85-YZgpdMZSH-OUaKcQ3A55Y0lOf1Zq0zxhGdNZoBLfuAwfxE5D0ZWmXr-793VIvGfh3YCd5SP7LHNrrBfvPeDIHMkgykBdf2lOTdK20q72aPQxmHoV8JQVLEhMp8_SVC4LgR7srRIYEgh99nONN7RTTP3XI1Vm6DHHGAH9iqntRxW5Ffx8A7dUwx_3m-YGhMa0P-nwEj6mYLACjLNyXyTGqcflj9pK57NRj5qDMWhTFr9SzGFl9LVCHVfGVG_32pJMyC4N5JEAmq4pGFbA6Wckza7DERrk5A2LljjxCx34NN4yVUPSCKBltek0znQOL-cCcqkbkGk7DwVnLAFSybj0CJEPj30qYqX0To5cnQJEPiQrH4X0pr3RvWA96n5VD8bAexFwBkCOiGEAQIFNCuUMxH1uXq2ihnLqIS1RjwNnnTlXGk-NBFUYxbZMG5AmI2E6A-jcZczouUfdqYTK-BBrGkuCtF_UhmktM61zjk-gcQ0oGAcENetoTIpWGQCngVr_7UoRDHyL8MtXYCZuvZZ7r52n5_ann3HgKF82HnWgkJeBHFzlY19VdY_NnBaiO1dNhsqbkAhdc-BdlOzWLdkhBJv19HQ7j_9zJS8rowec4tNiNbVci49AkZ1OscKzCAik1VJBYhVDhIif7GEEZiaTiBktNe0LZiBO7RkPFvqqGv3f4-O7isgvrj3Ge7ok5oAu-vPxNnYDDIdROvywAFbx5WpLIfjFXYSv3B3BNL0wqYT3ypeL3nCFRvuvc9vkdNUg64DpHMnhJhoGZzerfziYuqL3zB9Aw_5JwxhyG6BvJObn_PSO8G5umDSwYUDhI_5q1okpAoRtT-DIQCyTPbO7LESWbtGBJeK9ERue9eOsgYLJcJ3-Dxz0EwMQ0I_AUkduZNqlC3EbRGflL-XCVW5tI9P-GihDcnfqON-m5JoIrYeNQxnDldhT9xnO_wzwwQlhnHasckRDRTYbFqqDkOZCR.lQuWqe5prmLvvVdz2g7M_Q%22%7D; id_token=eyJraWQiOiIxZVQySkNHWGdmRStSSis0bW5YYnNcLzVXU2NPU0hyM2NYV1pmWWpmeHhFST0iLCJhbGciOiJSUzI1NiJ9.eyJhdF9oYXNoIjoiSWRvSmRVTzh4aFhtR09GYVJTMUxoZyIsInN1YiI6IjM5N2FkZTU0LTQwZGEtNGM5NC1hNGVmLWE3MGMzNjY4NDI2NCIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLXdlc3QtMi5hbWF6b25hd3MuY29tXC91cy13ZXN0LTJfNEwwWlg0YjFVIiwiY29nbml0bzp1c2VybmFtZSI6IjM5N2FkZTU0LTQwZGEtNGM5NC1hNGVmLWE3MGMzNjY4NDI2NCIsImdpdmVuX25hbWUiOiJQaWVycmUtTmljb2xhcyIsIm5vbmNlIjoiZ0NMbGN0R3ZMdFhSaDVtSVFmZ0JudGFKTVBVZmp3YnBFeXFlMlhTdURiX1k5cUJYU3FqTzM0WG0ycTQ1YUtyX0NHbEdSdG5EVXpkb3k1QTRMc18tT3hTZDQxVGlUeHRwWExFZVd4NEdTMGVMY1dBYWNaZmxVZE1LUzRpanU2alFONzNvUXFRWTNyb05TaUlJa2FMTnVXSTczUzZYblBWTmx5SnFhRkNLRTZzIiwicGljdHVyZSI6Imh0dHBzOlwvXC9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tXC9hXC9BQ2c4b2NJOHh3TTZfTE5aRjBEMnZXT1A1d1FVa3JfbzJMdEQtMG4xekkyeDBvVXB4Mm05PXM5Ni1jIiwiYXVkIjoiN3B1NDh2OGkybjI1dDR2aGVzMGVkY2szMWMiLCJpZGVudGl0aWVzIjpbeyJ1c2VySWQiOiIxMTM3MDQ1MTA3NTc1MDkzMzI2NzYiLCJwcm92aWRlck5hbWUiOiJHb29nbGUiLCJwcm92aWRlclR5cGUiOiJHb29nbGUiLCJpc3N1ZXIiOm51bGwsInByaW1hcnkiOiJmYWxzZSIsImRhdGVDcmVhdGVkIjoiMTY4MjI4NjUzOTk0NiJ9XSwidG9rZW5fdXNlIjoiaWQiLCJjdXN0b206c2lnbnVwX2RhdGUiOiIyMDIyLTA4LTI1IDIxOjQxOjI3IFVUQyIsImN1c3RvbTpydF9pZCI6Ijk3OTUzMTgwNSIsImF1dGhfdGltZSI6MTY5NjkzODE1OCwiZXhwIjoxNjk2OTQxNzU4LCJpYXQiOjE2OTY5MzgxNTksImZhbWlseV9uYW1lIjoiWmluc291IiwiZW1haWwiOiJwbnppbnNvdUBnbWFpbC5jb20iLCJjdXN0b206Y291bnRyeV9jb2RlIjoiRlIifQ.Ko57lSZw6j-Tn6BVBgNe4kDPt4Mi9RiP_nHz89W-tuTXaxPToe-Bq5a2AlNhcq__8vgVw_TFu2YGu_cza5DB_cOuKCPlgmFf-qYKuC2liNPntysL-WlhnWnIjbtL8kDSKrrVogIiItCL7kUqQWm9G0Udcp_coYSszQaSJEJ0gAyTiSxoltjLUG4m9Xyu85Fy1hBaedJOfv4X00ri9SHjRSH4YkCZTfJS_zU57AF0_VlhsmcnNKvphQOtlzW1MFzNgoqm03YJFaCBtNR_XhQafvPD6Z6LVmVf-F1OB8MmfmQ8NtVFMv3D4IR-ilcqMYFQK4P-n9xyg0BmGF5Vfesf5A; __gads=ID=8470b7da7dccffd6:T=1685357858:RT=1696938169:S=ALNI_MaIS1BGNNFE5SptaGCaPIMuy1s0pA; __gpi=UID=00000c37fa5c1f07:T=1685357858:RT=1696938169:S=ALNI_MbL9f0TevXFwhoQ8GJ6U1K5yQjttw; OptanonConsent=isIABGlobal=false&datestamp=Tue+Oct+10+2023+13%3A42%3A52+GMT%2B0200+(heure+d%E2%80%99%C3%A9t%C3%A9+d%E2%80%99Europe+centrale)&version=202209.1.0&hosts=&consentId=ba3cb9e3-5428-4215-a146-d4ce4c559d01&interactionCount=2&landingPath=NotLandingPage&groups=dummy%3A1%2CFOOF%3A1%2C1%3A1%2C6%3A1%2C4%3A1%2CSTACK8%3A1%2C7%3A1%2CSTACK16%3A1&AwaitingReconsent=false&geolocation=FR%3B; mbox=PC#76a5e2e3ab3244e6b2b24fc12170c500.37_0#1760182973|session#da3097cfdf13449e8da7190776d7eaf6#1696940033; s_sq=%5B%5BB%5D%5D; _chartbeat2=.1647722719285.1696938172646.0000000000000001.CvXuu3B05nI6CiyphIBTtUNEDgErJg.7; sailthru_pageviews=6; mps_uuid=64807ddb-ad8f-4d20-b35e-60816e62111b; _awl=2.1696938173.5-9ff33f73f7bbc06bff083af0e86cc658-6763652d6575726f70652d7765737431-7; bm_sv=F3D95187AF75C9CB3940B340BAF3D093YAAQyONIF1G6iPmKAQAAC6NlGRVjD6+hh4gsBlrLmAg5gFyGez8iBWLbmR8FQr7fAnyaFX4HQ1pA11gU/CRYR8iMFqmzRSR4dJP/TdX/uZyTTj4oMlDVElwmV6O+2tsKMscBvC1eWXv7ROShtlFrdMtVcwiJf2KMwPMeHa9Qmd0t7/vpbMJdDfgYYaE1gk6BfmX9qcVysYLXbYoIxLomAZJchwYtrWqWO0SzS0reH7LXsn2HMk2rEH8TpDdnmRy7MAMRokZzslXJ1; QSI_HistorySession=https%3A%2F%2Fwww.rottentomatoes.com%2F1696938148963%7Chttps%3A%2F%2Fwww.rottentomatoes.com%2Fauth%2Fstart%3Fref%3D%252F1696938149554%7Chttps%3A%2F%2Fwww.rottentomatoes.com%2F1696938151087%7Chttps%3A%2F%2Fwww.rottentomatoes.com%2Fprofiles%2FRk6fJ6FlPIvGIe8t2QcQkTBqiAACN4iJ9HNjTdYInnCx6iogFDrFvbiZZC6vidAiRBClwcGGC9btPaILjHpVF2Vfdxh9ohZbuBqiWJSkOham~1696938173115; cto_bundle=SuNA719ZRVJLZjVKdDFmUHdEajNsQXdKbHZmQlJ1clM2cmJyeVE4d2I4SU1LN1F1OUVpTXJINlo2V2VxYVdOVGc2dVRXeEw4OXZ4NWczWXlzOWVieWxTcDFUT3Rwb3E5RU4zYWlzZmZrOVBLOHJIRWFSTTRVZjhlUkJ4TUhsJTJGTVYlMkYzWU9OemcwQzBGOUNuUXA2djg4T2tsWlRnVmhudXJhcWdDYU9aZExzTjFyTHM0JTNE' \\n' +
' -H 'if-none-match: W/"15b70-ZjZXQ/U58nfXbBRV4aSTHPTFHss"' \\n' +
' -H 'referer: https://www.rottentomatoes.com/\' \\n' +
' -H 'sec-ch-ua: "Google Chrome";v="117", "Not;A=Brand";v="8", "Chromium";v="117"' \\n' +
' -H 'sec-ch-ua-mobile: ?0' \\n' +
' -H 'sec-ch-ua-platform: "macOS"' \\n' +
' -H 'sec-fetch-dest: document' \\n' +
' -H 'sec-fetch-mode: navigate' \\n' +
' -H 'sec-fetch-site: same-origin' \\n' +
' -H 'sec-fetch-user: ?1' \\n' +
' -H 'upgrade-insecure-requests: 1' \\n' +
' -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36' \\n' +
' --compressed'
Thanks you ;)
Hi. I'm getting a 401 unauthorised error and I think it's because I can't find anywhere on Rotten Tomatoes where I can edit my profile visibility. Have they removed that setting from the privacy settings page? If so anyway around this?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.