想要使用爬虫爬取网站上的资源首先需要导入三个库

分别是:  requests   re    os

导入库之后就可以开始进行学习了

基本代码有关部分

第一步.获取网络源代码

def get_html(url,headers,params):

response = requests.get(url,headers=headers,params=params)

# 设置源代码的编码方式

response.encoding="utf-8"

if response.status_code == 200:

return response.text

else:

print("网站源码获取错误")

第二部.提取图片源代码 

def parse_pic_url(html):

result = re.findall('thumbURL":"(.*?)"',html,re.S)

return result

第三步.获取图片二进制源码

def get_pic_nic_content(url):

response = requests.get(url)

return response. Content

第四步.保存图片

def save_pic(fold_name,content,pic_name):

with open(fold_name+"/"+str(pic_name)+".jpg","wb")as f:

f.write(content)

f.close()

第五步.定义一个新的文件夹程序

def create_fold(fold_name):

# 加异常处理

try:

os.mkdir(fold_name)

except:

print("文件夹已存在")

 

 网页有关部分

第一步.获取url

        这里我选择爬取百度图片中的大熊图片,打开百度图片,搜索大熊猫

         打开网页后右击鼠标,选择检查

 点击网络后选择Fecth/XHR

之后刷新网页将鼠标在图片上移动就会出现以下情况

之后选择头标为   acjson  按图片中指示进行操作 

之后复制图片圈住内容就可以了 

第二部.获取 headers

可以接着上一步进行,

按图片操作,复制即可获得headers

第三步.获取 params

还是可以接着操作,点击负载,复制所有内容即可

main主函数部分 

在写好了基本代码,获取了url,headers,params之后我们就可以开始编写主函数了

def main():

# 输入文件夹名字

flode_name = input("请输入您想要爬取的图片的名字:")

# 输入要抓取的图片页数

page_num = input("请输入要抓取的页数(0,1,2,3,4,5,6,.....)")

# 调用函数创建文件夹

create_flode(flode_name)

# 构建循环

pic_name = 0

for i in range(int(page_num)):

url=""

headers = {

}

params = {

}

html = get_html(url, headers, params)

# print(html)

result = parse(html)

for item in result:

# 调用函数获取图片二进制源码

pic_contont = get_pic_content(item)

# 调用函数保存图片

save_pic(flode_name,pic_contont, pic_name)

pic_name += 1

print("已保存第" + pic_name.__str__() + "张图片")

将获取到网页信息分别复制到代码中,其中headers,params需要转换为字典形式

如图所示

(params中无内容部分可删除) 

再按照图片中的操作更改params的内容

 

这样就可以爬取图片了,谢谢观看。 

相关阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。