当前位置: 首页 > news >正文

哈尔滨市延寿建设局网站网站开发视频会议插件

哈尔滨市延寿建设局网站,网站开发视频会议插件,主机托管一年多少钱,北京百度搜索排名优化python爬取图片(lsp篇) 文章目录 前言一、需要用到什么?二、作业模板1.根据网址分析数据(所有爬虫程序都必须对网址进行分析,由于这是个lsp网址就不拿出来分析了)2.套用模板 总结 前言 为了完成老师布置的…

python爬取图片(lsp篇)

文章目录

  • 前言
  • 一、需要用到什么?
  • 二、作业模板
    • 1.根据网址分析数据(所有爬虫程序都必须对网址进行分析,由于这是个lsp网址就不拿出来分析了)
    • 2.套用模板
  • 总结


前言

为了完成老师布置的作业,爬取青春有你2,借用了这个作业的模板爬图片,屡试不爽在这里插入图片描述


一、需要用到什么?

python基础,软件方面根据个人习惯可以使用Anaconda一个集成的可以在浏览器中编程的软件,不需要再安装python包等等比较方便!

二、作业模板

1.根据网址分析数据(所有爬虫程序都必须对网址进行分析,由于这是个lsp网址就不拿出来分析了)

2.套用模板

第一步,从网址中取得你需要的那部分html

import json
import re
import requests
from bs4 import BeautifulSoup
import sys
import os
import datetime
today = datetime.date.today().strftime('%Y%m%d')
def crawl_wiki_data(n):"""爬取html"""headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}url='https://m.mm131.net/more.php?page='n=int(n)+1for page in range(1,n):url=url+str(page)print(url)response = requests.get(url,headers=headers)print(response.status_code)soup=BeautifulSoup(response.content,'lxml')content=soup.find('body')parse_wiki_data(content)url='https://m.mm131.net/more.php?page='

第二步,从那部分html中取得想要的目录名,以及图集的链接地址

def parse_wiki_data(content):"""生成json文件到C:/Users/19509/Desktop/python目录下"""girls=[]bs=BeautifulSoup(str(content),'lxml')all_article=bs.find_all('article')for h2_title in all_article:girl={}#图集girl["name"]=h2_title.find('a',class_="post-title-link").text#链接girl["link"]="https://m.mm131.net"+h2_title.find('a',class_="post-title-link").get('href')girls.append(girl)json_data=json.loads(str(girls).replace("\'","\""))with open('C:/Users/19509/Desktop/python/girls/'+today+'.json','w',encoding='UTF-8') as f:json.dump(json_data,f,ensure_ascii=False)crawl_pic_urls()

第三步,从json文件中,根据图集链接进一步爬取每张图片的链接并,将每张图片的链接作存在数组中,用来传递给下一个函数来下载图片

def crawl_pic_urls():"""爬取每个相册的图片链接"""with open('C:/Users/19509/Desktop/python/girls/'+today+'.json','r',encoding='UTF-8') as file:json_array = json.loads(file.read())headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36' }for girl in json_array:name = girl['name']link = girl['link']pic_urls=[]#爬取图集response = requests.get(link,headers = headers)bs = BeautifulSoup(response.content,'lxml')#拉取页数pic=bs.find('div',class_="paging").find('span',class_="rw").textpic=re.findall("\d+",pic)pic_number=int(pic[1])+1#拉取图片链接pic_url=bs.find('div',class_="post-content single-post-content").find('img').get('src')pic_urls.append(pic_url)list=[]for x in range(len(pic_url)):list.append(pic_url[x])for m in range(2,pic_number):all_pic_urls=''list[33]=str(m)for k in range(len(list)):all_pic_urls+=list[k]pic_urls.append(all_pic_urls)headers = {"Referer": link,"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 SLBrowser/7.0.0.9 SLBChan/25"}down_pic(name, pic_urls,headers)

第四步下载图片并保存

def down_pic(name,pic_urls,headers):"""下载图片"""path = 'C:/Users/19509/Desktop/python/girls/'+'pic/'+name+'/'if not os.path.exists(path):os.makedirs(path)for i,pic_url in enumerate(pic_urls):try:pic = requests.get(pic_url,headers=headers)string = str(i+1)+'.jpg'with open(path+string,'wb') as f:f.write(pic.content)print('成功下载第%s张图片:%s' %(str(i+1),str(pic_url)))except Exception as e:print('下载第%s张图片时失败:%s' %(str(i+1),str(pic_url)))print(e)continue

最后打印下载路径的绝对路径,同时写主函数运行所有函数

def show_pic_path(path):"""遍历所爬取的每张图片,并打印所有图片的绝对路径"""pic_num=0for (dirpath,dirnames,filenames) in os.walk(path):for filename in filenames:pic_num+=1print("第%d张照片: %s" %(pic_num,os.path.join(dirpath,filename)))print("共爬取lsp图%d张" % pic_num)
if __name__ == '__main__':n=input('要几页:')html = crawl_wiki_data(n)#打印所爬取的选手图片路径show_pic_path('C:/Users/19509/Desktop/python/girls/pic')print("所有信息爬取完成!谢谢")

注意事项:’C:/Users/19509/Desktop/python/girls‘这个是我的目录,不是你的目录,你必须创建属于你的目录和相应的girls文件夹


总结

这篇文章涉及到挺多小细节的,比如下载图片时的headers跟前面的headers不一样,以及拉取图集里面图的张数时用到了正则表达式,存在问题:图集的名字不能改成中文,不知道有没有大佬会的!!

http://www.yayakq.cn/news/263354/

相关文章:

  • 免费的行情网站微信网站模板
  • 这个网站中有网名做会计的吗 了解一下WordPress的文本编辑器
  • asp网站开发实训总结青海网页设计公司
  • 傻瓜式一键建站系统做美食网站有哪些
  • 免费做免费做人爱视频的网站长春网站建设q479185700棒
  • 营销型网站 案例网站开发什么开发语言好
  • 微信小程序 购物网站开发抚顺网站设计
  • 舟山手机网站建设云服务器和虚拟主机有什么区别
  • 945新开传奇网站rp做网站
  • 我国哪些网站是做调查问卷的番禺网站建设哪里有
  • 木门网站模板石家庄云图网站建设
  • 做网站引流网站实名审核
  • 招商加盟网站大全wordpress ip改成域名
  • 微信企业网站 源码快速学电脑培训班
  • 全球访问量最大的10个网站淄博网站制作高端营销
  • 网站建设合同用贴印花税吗设计什么网站简单
  • 建筑导航网站点瑞网络网站建设
  • dw做网站导航条网站设计对网站建设有哪些意义?
  • php网站开发实战开发网页美工设计百度
  • 南昌集团网站建设兰州建设局网站
  • 做公司网站需不需要注册joomla 和 wordpress
  • 网页网站制作维护网站备案信息注销原因
  • 手机有些网站打不开怎么解决广州建网站哪儿济南兴田德润简介
  • 建设通app官网下载安装百度搜索名字排名优化
  • 网站开发设计进度表安阳网站优化
  • 做个简单的网站绍兴网站建设
  • 一开始用php做网站wordpress简单投稿
  • 江苏住房和城乡建设网站wordpress资料分享网站
  • 凡科网站怎么关闭建设中临海网站设计
  • 太原建站推广wordpress页面菜单