Как известно, парсер
SE::Baidu возвращает обрезанные ссылки:
Для этого используем парсер
SE::Baidu как обычно (т.е. можно задавать любые параметры: кол-во страниц, ссылок и т.д.), но включаем опцию Raw data results, извлекаем из кода страницы регулярным выражением все ссылки на редиректы и выводим их в результат:
Если проанализировать любую из ссылок, то можно увидеть, что по ней отдается страница примерно такого содержания:
Net::HTTP и регулярное выражение:
На выходе мы получим список необрезанных ссылок.
SE::Baidu возвращает обрезанные ссылки:Проблема в том, что сам поисковик их выдает в таком виде. Это обсуждалось здесь. Но есть способ получить полные ссылки.http://link.springer.com/jour...
http://www.speedtest.net/
http://www.iciba.com/test
http://www.chinesetest.cn/
http://www.51testing.com/html...
http://baike.baidu.com/link?u...
http://en.wikipedia.org/wiki....
http://www.j-test.com/
Для этого используем парсер
SE::Baidu как обычно (т.е. можно задавать любые параметры: кол-во страниц, ссылок и т.д.), но включаем опцию Raw data results, извлекаем из кода страницы регулярным выражением все ссылки на редиректы и выводим их в результат:
Код:
eyJwcmVzZXQiOiJCYWlkdSBsaW5rcyAtIDEiLCJ2YWx1ZSI6eyJwcmVzZXQiOiJC
YWlkdSBsaW5rcyAtIDEiLCJwYXJzZXJzIjpbWyJTRTo6QmFpZHUiLCJkZWZhdWx0
Iix7InR5cGUiOiJvdmVycmlkZSIsImlkIjoicmF3ZGF0YSIsInZhbHVlIjp0cnVl
fSx7InR5cGUiOiJjdXN0b21SZXN1bHQiLCJyZXN1bHQiOlsicGFnZXMiLCJkYXRh
Il0sInJlZ2V4IjoiPGRpdiBjbGFzcz1cInJlc3VsdC4rPyBpZD1cIlxcZCtcIig/
cykuKz9ocmVmXFxzKj1cXHMqXCIoLis/KVwiXFxzKnRhcmdldD1cIl9ibGFua1wi
IiwicmVnZXhUeXBlIjoiZyIsInJlc3VsdFR5cGUiOiJhcnJheSIsImFycmF5TmFt
ZSI6ImxpbmtzIiwicmVzdWx0cyI6WyJsaW5rIl19LHsidHlwZSI6Im92ZXJyaWRl
IiwiaWQiOiJmb3JtYXRyZXN1bHQiLCJ2YWx1ZSI6IiRsaW5rcy5mb3JtYXQoJyRs
aW5rXFxuJykifV1dLCJyZXN1bHRzRm9ybWF0IjoiJHAxLnByZXNldCIsInJlc3Vs
dHNTYXZlVG8iOiJmaWxlIiwicmVzdWx0c0ZpbGVOYW1lIjoiJGRhdGVmaWxlLmZv
cm1hdCgpLnR4dCIsImFkZGl0aW9uYWxGb3JtYXRzIjpbXSwicmVzdWx0c1VuaXF1
ZSI6Im5vIiwicXVlcnlGb3JtYXQiOlsiJHF1ZXJ5Il0sInVuaXF1ZVF1ZXJpZXMi
OmZhbHNlLCJzYXZlRmFpbGVkUXVlcmllcyI6ZmFsc2UsIml0ZXJhdG9yT3B0aW9u
cyI6eyJvbkFsbExldmVscyI6ZmFsc2UsInF1ZXJ5QnVpbGRlcnNBZnRlckl0ZXJh
dG9yIjpmYWxzZSwicXVlcnlCdWlsZGVyc09uQWxsTGV2ZWxzIjpmYWxzZX0sInJl
c3VsdHNPcHRpb25zIjp7Im92ZXJ3cml0ZSI6ZmFsc2V9LCJkb0xvZyI6Im5vIiwi
a2VlcFVuaXF1ZSI6Ik5vIiwibW9yZU9wdGlvbnMiOmZhbHNlLCJyZXN1bHRzUHJl
cGVuZCI6IiIsInJlc3VsdHNBcHBlbmQiOiIiLCJxdWVyeUJ1aWxkZXJzIjpbXSwi
cmVzdWx0c0J1aWxkZXJzIjpbXSwiY29uZmlnT3ZlcnJpZGVzIjpbXSwicnVuVGFz
a09uQ29tcGxldGUiOm51bGwsInVzZVJlc3VsdHNGaWxlQXNRdWVyaWVzRmlsZSI6
ZmFsc2UsInJ1blRhc2tPbkNvbXBsZXRlQ29uZmlnIjoiZGVmYXVsdCIsInRvb2xz
SlMiOiIifX0=
Если проанализировать любую из ссылок, то можно увидеть, что по ней отдается страница примерно такого содержания:
Т.е. это редирект и здесь есть полный адрес страницы. Поэтому мы можем спарсить все эти адреса. Для этого используем<body style="display: none"><a href="http://www.w3school.com.cn/jsref/jsref_test_regexp.asp" id=link><script>document.getElementById("link").click();</script></body>
<noscript><META http-equiv="refresh" content="0;URL='http://www.w3school.com.cn/jsref/jsref_test_regexp.asp'"></noscript>
Net::HTTP и регулярное выражение:
Код:
eyJwcmVzZXQiOiJCYWlkdSBsaW5rcyAtIDIiLCJ2YWx1ZSI6eyJwcmVzZXQiOiJC
YWlkdSBsaW5rcyAtIDIiLCJwYXJzZXJzIjpbWyJOZXQ6OkhUVFAiLCJkZWZhdWx0
Iix7InR5cGUiOiJvdmVycmlkZSIsImlkIjoiZ29vZENvZGUiLCJ2YWx1ZSI6WzIw
MF19LHsidHlwZSI6ImN1c3RvbVJlc3VsdCIsInJlc3VsdCI6ImRhdGEiLCJyZWdl
eCI6IlVSTD0nKC4rPyknIiwicmVnZXhUeXBlIjoiIiwicmVzdWx0VHlwZSI6ImZs
YXQiLCJhcnJheU5hbWUiOiIiLCJyZXN1bHRzIjpbImxpbmsiXX0seyJ0eXBlIjoi
b3ZlcnJpZGUiLCJpZCI6ImZvcm1hdHJlc3VsdCIsInZhbHVlIjoiJGxpbmtcXG4i
fV1dLCJyZXN1bHRzRm9ybWF0IjoiJHAxLnByZXNldCIsInJlc3VsdHNTYXZlVG8i
OiJmaWxlIiwicmVzdWx0c0ZpbGVOYW1lIjoiJGRhdGVmaWxlLmZvcm1hdCgpLnR4
dCIsImFkZGl0aW9uYWxGb3JtYXRzIjpbXSwicmVzdWx0c1VuaXF1ZSI6Im5vIiwi
cXVlcmllc0Zyb20iOiJ0ZXh0IiwicXVlcnlGb3JtYXQiOlsiJHF1ZXJ5Il0sInVu
aXF1ZVF1ZXJpZXMiOmZhbHNlLCJzYXZlRmFpbGVkUXVlcmllcyI6ZmFsc2UsIml0
ZXJhdG9yT3B0aW9ucyI6eyJvbkFsbExldmVscyI6ZmFsc2UsInF1ZXJ5QnVpbGRl
cnNBZnRlckl0ZXJhdG9yIjpmYWxzZSwicXVlcnlCdWlsZGVyc09uQWxsTGV2ZWxz
IjpmYWxzZX0sInJlc3VsdHNPcHRpb25zIjp7Im92ZXJ3cml0ZSI6ZmFsc2V9LCJk
b0xvZyI6Im5vIiwia2VlcFVuaXF1ZSI6Ik5vIiwibW9yZU9wdGlvbnMiOmZhbHNl
LCJyZXN1bHRzUHJlcGVuZCI6IiIsInJlc3VsdHNBcHBlbmQiOiIiLCJxdWVyeUJ1
aWxkZXJzIjpbXSwicmVzdWx0c0J1aWxkZXJzIjpbXSwiY29uZmlnT3ZlcnJpZGVz
IjpbXSwicnVuVGFza09uQ29tcGxldGUiOm51bGwsInVzZVJlc3VsdHNGaWxlQXNR
dWVyaWVzRmlsZSI6ZmFsc2UsInJ1blRhc2tPbkNvbXBsZXRlQ29uZmlnIjoiZGVm
YXVsdCIsInRvb2xzSlMiOiIiLCJxdWVyaWVzIjoiaHR0cDovL3d3dy5iYWlkdS5j
b20vbGluaz91cmw9cENwekpiM3lIOGVlNHNkaUxSRmRaa2Q3cjQ5S29DUmlkTDg4
YXlDRmJuWWZ6V3VoazZXb1U5SzRLUG14UWFrRFNsTEI0WWhHSEFrQWVfZUxCU1BP
OF9cbmh0dHA6Ly93d3cuYmFpZHUuY29tL2xpbms/dXJsPVczMGdJeDZqdHNJVEZz
bjVRUEoxUWFxMHZiOThuVTd3LWFjNFcwcTR3VUhLdm5xOXpseWhBVXpmVXRKRkRF
dUIxYklqWG1OeTZNSUUtZFEzNm9lZVJhXG5odHRwOi8vd3d3LmJhaWR1LmNvbS9s
aW5rP3VybD1MaDF1bjN0UG1fM2ZXVVE4WEhHQWt4WEZWTV9IMnFMWWtDQ2NEOUVC
ZVRiM1F4WmNlTDJPMHVteERaNFNCLWh4M3FGZmtUT0hXRWNoOTBvS211VHVhWjFm
cktzY1M2UEZTNkkybHA2dm5NX1xuaHR0cDovL3d3dy5iYWlkdS5jb20vbGluaz91
cmw9TGgxdW4zdFBtXzNmV1VROFhIR0FreFhGVk1fSDJxTFlrQ0NjRDlFQmVUYjNR
eFpjZUwyTzB1bXhEWjRTQi1oeDNxRmZrVE9IV0VjaDkwb0ttdVR1YVNscUYwVkQ2
eG50ME9NUVM0NkFwQ0Ncbmh0dHA6Ly93d3cuYmFpZHUuY29tL2xpbms/dXJsPVR1
eDJRSGUzSEZEYkMtRkx0MkxsZ2pzV3pVRzJ0OHlRRTRpMTJaUjItTlB1cG03R18x
QTFHWXNFYW5CY0licUk1a05KNGZqZ3p3Q0tfUHVDaFBCOTJxXG5odHRwOi8vd3d3
LmJhaWR1LmNvbS9saW5rP3VybD1sRHBiUWhIdG95dWNLYlVIWEUxckNmMWRKRXB4
ZHJhY25MeXlIb3d5dnZtXG5odHRwOi8vd3d3LmJhaWR1LmNvbS9saW5rP3VybD1v
Q2R5Y0xSUFFGY3g0VUhWM0diMEptT0NoNDczNGFDeE1rS1UyUzgweTJ2NFJWZ0dP
dVNoUU84Nk5MVkdEd3RzXG5odHRwOi8vd3d3LmJhaWR1LmNvbS9saW5rP3VybD1a
Q3ZaQjBHM01WcFRRdnJyMTNPZ0RkNzlJN3c2ZHd1VVNsM1NGNlhIXzJteGlQZEg2
eklIWlhOZkhMQmFMX0VzY0lVSU1hSkZaVnZxRTdCYlczZHFxS1xuaHR0cDovL3d3
dy5iYWlkdS5jb20vbGluaz91cmw9bEtmV0ROUy1NM2dYS2NWVVNvS0pFYVRRNXRo
X1pNdXkzWE5TMXJ3UEJXU2N1aWw1NmJhSHB4azlOX1dzWG5EM0NNOVBFcEpORmZu
dDR1Wk43QzdDRlFEUzh1NGxqd3JBMnZuTC00VjdyYmVcbmh0dHA6Ly93d3cuYmFp
ZHUuY29tL2xpbms/dXJsPWJ3TmFfZDU1aTNIRU5RMzlmN19VLUJjQ1phMzl0X2Q2
dG1RSjlZQXhYTlR4aVhpYTZmeDlyLVhDLUc5WmVoMFNZQU5xTGZWM2R0SGt1Mzcw
R0pwTW42emcwanA2R011UmpERFRvcTRiOFNxXG5odHRwOi8vd3d3LmJhaWR1LmNv
bS9saW5rP3VybD02OGFHZzk4SVFPczFhQ2RIRFhyb0Q5RXdOVnYtVVZ4VElGNWp4
WW1PNGdlN3F6T2xKY1V5QVVnMmdqUlBQZURUXG5odHRwOi8vd3d3LmJhaWR1LmNv
bS9saW5rP3VybD1LTGl0YUhiUTdMNG9pbEkxSGpYZ2RMblN3aGtIeDhUZW02WjU3
VW11ZktqSjVqQ0tWSDZCRXdtbWE5OVFXSDdKXG5odHRwOi8vd3d3LmJhaWR1LmNv
bS9saW5rP3VybD1RQkQtcWZ5Sk05MXhIUmRZem5GVl9zY3pjNHdzUXdRTERUY1lX
SXptTFNMSUVkdVRJRjI3TUFhbU9ZV0h3S2FwXG5odHRwOi8vd3d3LmJhaWR1LmNv
bS9saW5rP3VybD1TOU90UjFpWGRSdUdhUHgyNzc3NFY3WVJhU1prS2k2aURfNGt0
ZlI4anpsWlUtOVhMRU4yMHFjLXFPbFpkUkhMXG5odHRwOi8vd3d3LmJhaWR1LmNv
bS9saW5rP3VybD1xbm9nMlZ6U1Z2b1hUVlUtMFRYaC1Db2dndmJtQV9ETHc1YjdP
N1lyOHd0QUVrajJSaGFPM0pIbDdtZHBJeDBIT1RkbU4yNElDWHVJSzFvWlVyWTM2
YVxuaHR0cDovL3d3dy5iYWlkdS5jb20vbGluaz91cmw9amtKd01ZOUdiU1NnSEZM
QVhMNG43YTlIRXZkc1JQYU5ORVp6Y1hnUEw2bTI5QUFDSHVGRnBTb1ZVNF9pcGR6
UFxuaHR0cDovL3d3dy5iYWlkdS5jb20vbGluaz91cmw9UnZYWVN0dUNWQ0dYeXct
NlYzTVQwUWpZNFVxR1Nia29vX0ItUHN5TXJvbmkxVlpZWHZaS3JaY2VEV19nU2ph
QlxuaHR0cDovL3d3dy5iYWlkdS5jb20vbGluaz91cmw9SFBhYzd3Sk1JckRxcGhZ
YXlHRTNDMHNka1hrVUxfajVYeHYwX2c5OWRxbVxuaHR0cDovL3d3dy5iYWlkdS5j
b20vbGluaz91cmw9Y25saGtqTXNOVlBTdm9mYXdhOHEzWHUxc29BWUpzNWtHd2o4
VHdGcVdFSyJ9fQ==
На выходе мы получим список необрезанных ссылок.