This is an old question but it was highly ranked on Google search when I had the same question, so I'll give you my answer from the sample page in your example link:
https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSM1442240
Scroll down to "Series" and click on the NCBI GEO accession for the whole project that contains this sample, in this example it is "GSE59150" which takes you to:
https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE59150
From that "Series" page, scroll down to section "Download family" and click on "Series Matrix File(s)" which takes you here:
https://ftp.ncbi.nlm.nih.gov/geo/series/GSE59nnn/GSE59150/matrix/
Download the _matrix.txt.gz file, here called "GSE59150_series_matrix.txt.gz". This is what you want!
If you're an R programmer, you can directly load the matrix with the read.table() function and "skip=" however many rows you need to skip. However, I think it's easier to just look at it with a spreadsheet reader like Excel instead of guessing how many rows you need to skip. For Windows users, decompress the gzip file using freeware like 7-Zip of PeaZip to get the .txt file, which you can right-click and open with Excel to read.
You may need to do a bit more data cleanup such as changing cell values from "age: 34" to "34" (find and replace "age: " to ""), then converting to numeric values so you can actually calculate medians and averages, but that clean up will be project specific.
The matrix file contains a lot of sample data after the metadata rows. For microarray projects, I didn't have issues. However, if the file is still too large, you can use R programming's read.table function and add variable nrow=100 to only load the first 100 rows, then write that to a .csv file and open THAT truncated file in Excel instead. It will be smaller.
IF you have all the GSM ids, can't you iterate through them in GEOquery?