现在不少的站长都搞了一些骚操作,只允许手机端访问网站,如果是pc端访问,就给一个404页面,或者直接提示网站打不开。
这种操作,对于一些新人站长来讲,是可以防止模仿采集的,但是对于略懂技术的老站长是没有任何作用的。
最简单的解决办法,就是使用浏览器的开发者功能切换到手机状态访问就行了。当然,如果要批量采集的话,只需要简单操作一下,伪装成手机端访问网站就行了。
至于如何伪装呢?
下面给一段示例代码:
mheaders=[ 'Mozilla/5.0 (Linux; Android 8.0.0; SM-G955U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Mobile Safari/537.36', #三星手机 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', #苹果手机 'Mozilla/5.0 (Linux; Android 10; EVR-AL00 Build/HUAWEIEVR-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.186 Mobile Safari/537.36 baiduboxapp/11.0.5.12 (Baidu; P1 10)', #华为手机 'Mozilla/5.0 (Linux; Android 9; MI 6 Build/PKQ1.190118.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.89 Mobile Safari/537.36 T7/11.20 SP-engine/2.16.0 baiduboxapp/11.20.2.3 (Baidu; P1 9)' #小米手机 ] headers={ 'User-Agent':random.choice(mheaders)#生成随机请求头 } r=requests.get(url,headers=headers)#向指定网址发送请求 print(r.text)#打印输出爬到的网页内容
上面是四个不同手机型号的请求头,包括三星、苹果、华为、小米,如果需要,还可以在网上找出更多型号!
个人网站还是不要把精力放在防爬虫上面了,基本上都是防君子不防小人。如果非要爬你网站的内容,你是防不住的,微信、头条那么大的平台,都防不住爬虫采集,更何况你个小老弟呢!
标签: python爬虫