目标
爬取zol桌面壁纸,批量下载图片。
项目准备
软件:Pycharm
第三方库:requests,fake_useragent,re,lxml
站地址:http://desk.zol.com.cn/1920×1080/
项目分析
打开 站看一下。
每一个都是一个图集。
点开
查看源代码
反爬分析
同一个ip地址去多次访问会面临被封掉的风险,这里采用fake_useragent,产生随机的User-Agent请求头进行访问。
代码实现
1.导入相对应的第三方库,定义一个class类继承object,定义init方法继承self,主函数main继承self。
import requests
from fake_useragent import UserAgent
import re
from lxml import etree
class bizhi(object):
def __init__(self):
self.url = ‘http://desk.zol.com.cn/1920×1080/hot_{}.html’
ua = UserAgent(verify_ssl=False)
for i in range(1, 100):
self.headers = {
‘User-Agent’: ua.random
}
def main(self):
pass
if __name__ == ‘__main__’:
spider = bizhi()
spider.main()
2.发送请求,获取 页。
def get_html(self,url):
response = requests.get(url, headers=self.headers)
html = response.content.decode(‘gb2312’)
return html
注:html = response.content.decode(‘gb2312’)