Selenium爬虫 -- 图片视频的src绝对地址链接分析
爬取**的时候,每次爬取图片都要转到mbasic.**网站,这样极容易被检测封号。
然后我发现在检查页面的元素的时候,图片和视频的链接都藏在了元素的style属性中。
思路:
定位多媒体元素 -> 获取src属性 -> 截取http网址 -> 对网址进行分析替换 -> 爬取多媒体资源
网址中有些反复出现的3a、3d、26等字符串,猜测可能是连接符之类的保密替换。
查询资料发现是网址URL中的特殊字符转义编码。
对照表:
字符 - URL编码值
空格 - %20
" - %22
# - %23
% - %25
& - %26
( - %28
) - %29
+ - %2B
, - %2C
/ - %2F
: - %3A
; - %3B
< - %3C
= - %3D
> - %3E
? - %3F
@ - %40
- %5C
| - %7C
获取到保密的资源地址后,将这些字符替换,得到真正的网址。
pic = article.find_element_by_xpath(./div/div/i) thepicstyle = pic.get_attribute(style) picsrc = thepicstyle[thepicstyle.find(background-image: url()+23:thepicstyle.find();background-repeat)] picsrc = picsrc.replace(\3a , :) picsrc = picsrc.replace(\3d , =) picsrc = picsrc.replace(\26 , &)
拿这个网址去下载和访问图片就可以了,甚至不需要科学上网!
