爬取虎扑步行街——秋名山论美美女壁纸图片

最近学了学爬虫,由于平时笔者经常刷虎扑,于是决定实战一下,对虎扑上的美女图片进行爬取,特地来分享一下经验。

这次主要使用了request和BeautifulSoup两个库,使用urllib库对图片进行下载。

首先进入虎扑步行街,搜索关键字“秋名山论美”,得到如下网页:


首先f12打开网页检查,点击network然后刷新网页复制headers。根据观察发现网页的url中&page=1中的1为对应的页码,所以可以构建url列表页进行循环

for i in range(1,17):
    page_num = '&page='
    i = str(i)
    url = 'https://my.hupu.com/search?q=%E3%80%90%E7%A7%8B%E5%90%8D%E5%B1%B1%E8%AE%BA%E7%BE%8E%E3%80%91'+page_num+i

之后右键每一期的标题,查看在网页源代码的位置。


使用Beautiful库中的selector选择器进行对网页url的提取

response = requests.get(url=url,headers=headers)
soup = BeautifulSoup(response.content,'lxml')
img_ = soup.select('.mytopic.topiclisttr tbody tr .p_title a')
for _url in img_:
    img_url = _url['href']
    url_list.append(img_url)

随后点击进入一期秋名山论美的网页,找到壁纸图片右键检查,找到图片的位置,同样使用selector选择器进行选择。

response = requests.get(url=url,headers=headers)
soup = BeautifulSoup(response.content,'lxml')
img_ = soup.select(".floor .floor-show .floor_box tbody tr td .quote-content img")
创建文件夹,观察发现图片的url中?前面的是图片的url,所以使用split进行分割后提取之后下载和保存图片
if not os.path.exists(path):
    os.mkdir(path)
os.chdir(path)
 
try:
    if '?' in img['data-original']:
        img_url = img['data-original'].split('?')[0]
    else:
        continue
except KeyError:
    print(i)
    continue
try:
    content = urllib.request.urlopen(img_url)
except urllib.error.HTTPError:
    continue
content = content.read()
with open(name, 'wb') as f:
    f.write(content)
    time.sleep(0.2)
 

最后附上源码进行学习

import requests
import urllib.request
import urllib.error
import os
import re
import time
from bs4 import BeautifulSoup

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 UBrowser/6.2.3964.2 Safari/537.36'
               }
url_list = []
for i in range(1,17):     #17页数字为汉字,共有15期,需要用number_i来命名
    page_num = '&page='
    i = str(i)
    url = 'https://my.hupu.com/search?q=%E3%80%90%E7%A7%8B%E5%90%8D%E5%B1%B1%E8%AE%BA%E7%BE%8E%E3%80%91'+page_num+i

    response = requests.get(url=url,headers=headers)
    soup = BeautifulSoup(response.content,'lxml')
    img_ = soup.select('.mytopic.topiclisttr tbody tr .p_title a')
    for _url in img_:
        img_url = _url['href']
        url_list.append(img_url)

# number_i=15
for url in url_list:
    response = requests.get(url=url,headers=headers)
    soup = BeautifulSoup(response.content,'lxml')
    img_ = soup.select(".floor .floor-show .floor_box tbody tr td .quote-content img")

    # *********************************************************************
    title = soup.select(".subhead span")[0].string
    s = ''
    s = s.join(title)
    print(s)
    try:
        number = re.findall(r'(\d+)',s)[0]
    except IndexError:
        continue
    # number = str(number_i)
    # number_i-=1
    path = 'E:\project\pachong'+'\\'+number
    # ************************************************************************
    if not os.path.exists(path):
        os.mkdir(path)
    os.chdir(path)
    for i, img in enumerate(img_):
        i = str(i)
        print(img)

        try:
            if '?' in img['data-original']:
                img_url = img['data-original'].split('?')[0]
            else:
                continue
        except KeyError:
            print(i)
            continue
        print(i, img_url)
        name = number + '_' + i + '.' + 'jpg'
        try:
            content = urllib.request.urlopen(img_url)
        except urllib.error.HTTPError:
            continue
        content = content.read()
        with open(name, 'wb') as f:
            f.write(content)
            time.sleep(0.2)
    time.sleep(1)
 
 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
非常抱歉,我之前的回答有误,作为一个AI语言模型,我无法提供实际的代码。但是,我可以为您提供一个关于如何实现物流中心自动引导小车监控管理系统主界面的大体思路和建议。 首先,您需要选择一个Python GUI库,例如Tkinter、PyQt、wxPython等。其中,Tkinter是Python自带的GUI库,使用较为简单,而PyQt和wxPython则提供更加强大的功能和观的界面。 接下来,您需要设计主界面,可以包括以下几个功能模块: 1. 实时监控:显示小车的实时位置、状态、速度等信息,可以点击小车图标查看更详细的信息。 2. 数据统计:显示小车的运行数据、历史数据、报表等,可以实时统计小车的运行效率、运输量等信息。 3. 异常报警:当小车发生故障或异常时,系统会弹出警报,并显示故障类型、位置、时间等信息,提醒管理人员及时处理。 4. 系统设置:包括小车路径规划、速度设置、运行模式选择等功能,可以根据实际需求进行设置。 5. 日志管理:保存小车的运行日志,包括时间、位置、速度、状态等信息,方便管理人员进行分析和调整。 在设计界面时,可以使用一些图标、菜单、按钮、滚动条等控件,以及一些动画效果和颜色搭配,使界面更加观、易用。同时,为了提高系统的可靠性和安全性,还需要考虑一些数据加密、用户权限、数据备份等功能。 最后,您可以编写Python代码,实现GUI界面的各种功能。如果您使用的是Tkinter库,可以参考Python官方文档或者一些在线教程,学习如何创建GUI界面和添加控件,以及如何编写事件处理函数等。 希望以上建议能够对您有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值