python3.5 爬取mzitu网站图片

之前的文章,都是基于python2.X来做的,现在我们很多都是使用python3.x,导致很多的代码不能用 ,因为python2和python3 的差别还是很大的,所以根据修改后可以执行的代码如下:

模块使用的是:requests和bs4模块,安装也是很简单,pip install XXX 即可

编辑器:Vscode

版本:python3.5

import requests
from bs4 import BeautifulSoup
import os

Hostreferer={
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
    'Referer':'http://www.mzitu.com'
} 
Picreferer={
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
    'Referer':'http://i.meizitu.net'
}

def get_html(url):
    req=requests.get(url,headers=Hostreferer)
    html=req.text
    return html

def get_page_name(url):
    html=get_html(url)
    soup=BeautifulSoup(html,'lxml')
    span=soup.findAll('span')
    title=soup.find('h2',class_='main-title')
    return span[10].text,title.text

def get_img_url(url,name):
    html=get_html(url)
    soup=BeautifulSoup(html,'lxml')
    img_url=soup.find('img',alt=name)
    return img_url['src']

def save_img(img_url,count,name):
    req=requests.get(img_url,headers=Picreferer)
    with open('name+'/'+str(count)+'.jpg','wb')as f:
        f.write(req.content)


if '__name__'=='__main__':

     old_url='http://www.mzitu.com/123114'
     page,name=get_page_name(old_url)
     os.mkdir(name)
     for i in range(1,int(page)+1):
         url=old_url+'/'+str(i)
         img_url=get_img_url(url,name)
         save_img(img_url,i,name)
         print('保存第'+str(i)+'张图片成功')


代码是可以运行的,结果图就不放了,你懂的!!!

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 要使用Python网站图片,可以使用requests和beautifulsoup4库进行网页和解析。具体步骤如下: 1. 使用requests库获网页内容: ```python import requests url = 'http://example.com' response = requests.get(url) ``` 2. 使用beautifulsoup4库解析网页内容,并找到所有图片标签: ```python from bs4 import BeautifulSoup soup = BeautifulSoup(response.text, 'html.parser') img_tags = soup.find_all('img') ``` 3. 遍历所有图片标签,获图片链接,并下载图片到本地: ```python import os # 创建文件夹用于保存图片 if not os.path.exists('images'): os.makedirs('images') for img in img_tags: img_url = img['src'] img_name = img_url.split('/')[-1] # 通过链接获图片名 # 下载图片到本地 with open(f'images/{img_name}', 'wb') as f: f.write(requests.get(img_url).content) ``` 注意:在网站图片时,需要注意网站的版权问题和虫协议,避免侵犯他人权益。 ### 回答2: 要使用Python网站图片,首先需要安装 `requests` 和 `BeautifulSoup` 两个库。 以下是基本的图片的步骤: 1. 导入所需库: ```python import requests from bs4 import BeautifulSoup ``` 2. 使用 `requests` 发送GET请求并获网页内容: ```python url = 'http://example.com' # 替换成目标网站的URL response = requests.get(url) ``` 3. 使用 `BeautifulSoup` 解析网页内容: ```python soup = BeautifulSoup(response.text, 'html.parser') ``` 4. 找到包含图片的标签或元素,例如 `<img>` 标签: ```python image_tags = soup.find_all('img') ``` 5. 遍历找到的图片标签,获图片URL,并保存图片: ```python for tag in image_tags: image_url = tag.get('src') # 获图片URL img_data = requests.get(image_url).content # 使用requests获图片二进制数据 with open('image.jpg', 'wb') as f: f.write(img_data) # 将图片数据写入到文件 ``` 注意,以上代码仅为示例,实际应用中可能需要根据目标网站的具体结构进行适当的调整。 此外,还可以使用其他库如 `urllib` 或 `Scrapy` 来实现网站图片。 ### 回答3: 要网站图片,首先需要安装并引入相应的库,例如requests库、BeautifulSoup库和urllib库。下面是一个网站图片的基本步骤: 1. 导入相关库: ``` import requests from bs4 import BeautifulSoup import urllib ``` 2. 通过requests库发送HTTP请求获网页的内容: ``` url = "网站URL" headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} response = requests.get(url, headers=headers) ``` 3. 使用BeautifulSoup库解析网页内容: ``` soup = BeautifulSoup(response.text, "html.parser") ``` 4. 找到网页中图片的标签(一般是`<img>`标签),通过BeautifulSoup库提供的方法获图片的URL: ``` image_tags = soup.find_all("img") for image_tag in image_tags: image_url = image_tag["src"] print(image_url) ``` 5. 下载图片: ``` urllib.request.urlretrieve(image_url, "保存路径/文件名") ``` 以上是简单示例,实际过程中还需考虑网页加载方式(AJAX、动态加载等)、反机制和异常处理等问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值