let' extract the request field out of itwhich is the actual http requestthe page which is actually being requested by the browser we're going to split that up into its three componentsit consists of an actionlike get or postthe actual url being requestedand the protocol being used given that information split outwe can then just see if that url already exists in my dictionary if soi will increment the count of how many times that url has been encountered by otherwisei'll introduce new dictionary entry for that url and initialize it to the value of do that for every line in the logsort the results in reverse ordernumericallyand print them out -$pvout \xjuipqfo mph buisbtg gpsmjofjo stusjq gpsmjog nbudi gpsnbu@qbunbudi mjof jgnbudi bddftt nbudihspvqejdu sfrvftu bddftt bdujpo -qspupdpm sfrvftutqmju jg -$pvoutibt@lfz -$pvout -$pvout fmtf -$pvout sftvmut tpsufe -$pvoutlfz mbncebj jou -$pvout sfwfstf svf gpssftvmujosftvmut qsjousftvmu tus -$pvout solet' go ahead and run thatoopswe end up with this big old error here it' telling us thatwe need more than value to unpack so apparentlywe're getting some requests fields that don' contain an actiona urland protocol that they contain something else