好想吃掉你 发表于 2019-3-27 12:47

Python3-爬取妹子图

本帖最后由 好想吃掉你 于 2019-3-27 15:48 编辑

这里是第一页的爬虫如果想爬第几页就换url如果想全部爬下来的话,for循环就ok
以下是代码:
from bs4 import BeautifulSoup
import requests
import os

headers = {
    'User-Agent': "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1",
    'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
    'Accept-Encoding': 'gzip',
    "Referer": "https://www.mzitu.com/101553"
}   #头部文件
path="jpg" #jpg为保存目录,可随意更改
os.chdir(path)

url = 'https://www.mzitu.com'
response1 = requests.get(url, headers=headers)
html_soup1 = BeautifulSoup(response1.text, 'lxml')
all_url=html_soup1.find("ul",{"id":"pins"}).find_all("a")
count=1
for href in all_url:
    count=count+1
    if count%2!=0:
      href1=href['href']
      #print(href1)
      for href2 in href:
            response2 = requests.get(href1, headers=headers)
            html_Soup2 = BeautifulSoup(response2.text, 'lxml')
            pic_address= html_Soup2.find("div",{"class":"main-image"}).find("img")['src']
            #print(pic_address)
            next_address=html_Soup2.find_all("span")
            max_adress=next_address.get_text()
            name = html_Soup2.find("div", {"class": "main-image"}).find("img")['alt']
            os.mkdir(name)
            os.chdir(name)
            for iin range (1,int(max_adress)+1):
                #print(i)
                next_url = href1+'/'+str(i)
                response3 = requests.get(next_url, headers=headers)
                html_Soup3 = BeautifulSoup(response3.text, 'lxml')
                pic_address2 = html_Soup3.find("div", {"class": "main-image"}).find("img")['src']
                title = html_Soup3.find("h2")
                name1 = title.get_text()
                img = requests.get(pic_address2, headers=headers)
                f = open(name1 + '.jpg', 'ab')
                f.write(img.content)
                f.close()
            os.chdir("/Users/w2ng/untitled/venv/jpg")#获取自己的工作目录,将/Users/w2ng/untitled/venv 改为os.getcwd()的结果就ok


附上截图,运行了一下下


q597220017 发表于 2019-3-27 13:11

我好了 胸弟们

xw0224 发表于 2019-8-1 10:59

indian806 发表于 2019-8-1 09:50
非常感谢,那个问题按照您说的已经解决了现在问题是:
1.要么远程主机已关闭(估计是公司服务 ...

1,网站已经发觉你是爬虫了
2,提取规则错误或者网站更改了
3,没明白你的描述

xw0224 发表于 2019-8-1 13:33

indian806 发表于 2019-8-1 11:04
1.如果是提取规则错误应该如何解决,我目前用的是楼主的源码;
2."Referer": "https://www.****.com/101 ...

1、提取规则错误需要改源码
2、referer记录你从哪个url到达当前的url

XiaoYuGan0103 发表于 2019-8-1 14:31

阿伟死了

电话情思 发表于 2019-3-27 12:58

得需要装那个 环境软件吧

ytahdou 发表于 2019-3-27 13:02

爬虫是Python的长项。

GK218 发表于 2019-3-27 13:04

这爬的啥网站{:1_918:}

kyle233 发表于 2019-3-27 13:13

感谢楼主分享

weliong 发表于 2019-3-27 13:24

看了下网站图片 只能说:万恶的 亮光马赛克啊{:1_935:}

zmtc19870108 发表于 2019-3-27 13:26

成年男人的福利,谢谢分享。

zmtc19870108 发表于 2019-3-27 13:28

这代码怎么用???

yhcfsr 发表于 2019-3-27 13:36

一会试试再来评价
页: [1] 2 3 4 5 6 7 8
查看完整版本: Python3-爬取妹子图