会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132990个问题
JAVA 全系列/第一阶段:JAVA 快速入门/IDEA的使用和第一个java项目 22997楼
Python 全系列/第一阶段:Python入门/面向对象 22998楼
Python 全系列/第一阶段:Python入门/Python入门(动画版) 23000楼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>小米商城</title>
    <link rel="icon" href="image/icon.png">
    <link rel="stylesheet" href="css/test.css">
    <link rel="stylesheet" href="css/index.css">
</head>
<body>
    <!-- 头部的开始 -->
    <div class="header">
        <a href="#">
            <img src="image/a2a9e6db5e3c5374301827435d8595c6.jpg" alt="">
        </a>
    </div>
    <!-- 头部的结束 -->
    <!-- 导航开始 -->
    <div class="headerNav">
         <!-- 水平居中DIV -->
        <div class="nav">           
            <lu class="nav_ul_left">
                <li><a href="" herf="#">小米商城</a> <span>|</span></li>
                <li><a href="" herf="#">MIUI</a> <span>|</span></li>
                <li><a href="" herf="#">loT</a> <span>|</span></li>
                <li><a href="" herf="#">云服务</a> <span>|</span></li>
                <li><a href="" herf="#">天星数科</a> <span>|</span></li>
                <li><a href="" herf="#">有品</a> <span>|</span></li>
                <li><a href="" herf="#">小爱开放平台</a> <span>|</span></li>
                <li><a href="" herf="#">企业团购</a> <span>|</span></li>
                <li><a href="" herf="#">资质证照</a> <span>|</span></li>
                <li><a href="" herf="#">协议规则</a> <span>|</span></li>
                <li><a href="" herf="#">下载app</a> <span>|</span></li>
                <li><a href="" herf="#">智能生活</a> <span>|</span></li>
                <li><a href="" herf="#">Select Location</a></li>
            </lu>
            <ul class="nav_ul_right">
                <li><a href="" herf="#">登录</a><span>|</span></li>
                <li><a href="" herf="#">注册</a><span>|</span></li>
                <li><a href="" herf="#">消息通知</a></li>
                <li class="cart">
                    <a href="" herf="#">购物车(0)</a>
                    <div class="cart_list">购物车中还没有商品,赶紧选购吧!</div>
                </li>
            </ul>
        </div>
    </div>
    <!-- 导航结束 -->
</body>
</html>
/* 头部css开始 */
.header{
    width: 100%;
    height: 100px;
    /* background-color: red; */
    overflow: hidden;
    /* 父元素定位 */
    position: relative;
}
.header img{    
    height: 100px;
    /* 子元素定位 */
    position: absolute;
    /* 子元素左边距离父元素50% */
    left: 50%;
    /* 子元素向左移50% 这样图片就跟父元素水平居中了*/
    transform: translateX(-50%);
}
/* 头部css结束 */

/* 导航样式开始 */
.headerNav{
    width: 100%;
    height: 40px;
    background-color: #333; 
    line-height: 40px;
    font-size: 12px;
    color: #b0b0b0;
}
/* 水平居中DIV  */
.nav{
    width: 1226px;      
    margin:0 auto;   
}
.nav_ul_left{
    float: left;
}
.nav_ul_right{
    float: right;
}
.nav li{
    float: left;
}
.nav a{
    color: #b0b0b0;
}
.nav span{
    color: #424242;
    margin: 0.3em;
}
/* 导航上所有a标签 */
.nav a:hover{
    color: #fff;
}
/* 购物车 */
.cart{
    width: 120px;
    height: 40px;
    background-color: #424242;
    margin-left: 25px;
    position: relative;
}
/* 购物车背景 */
.cart:hover{
    background-color: #fff;
    /* 鼠标移动到li变成小手 */
    cursor: pointer;    
}
/* 购物车字体 */
.cart:hover>a{   
    color: #ff6700;
    font-weight: 500;
}
/* 购物车下拉内容 */
.cart_list{
    width: 316px;
    height: 0;    
    background-color: #fff;
    color: #424242;
    position: absolute;
    right: 0;
    top: 40px;
    display: none;
    overflow: hidden;
    /* 动画过渡 */
    transition: all 0.3s;
    /* 设置边框 */
    box-shadow: 0 2px 10px rgb(0 0 0 / 15%);
}
.cart:hover>.cart_list{
    height: 100px;
    line-height: 100px;
    display: block;  
    
}
/* 导航样式结束 */

在购物车下拉内容里面动画过渡那里设备了过渡效果没起作用。

WEB前端全系列/第一阶段:HTML5+CSS3模块/CSS3新特性 23001楼
Python 全系列/第二阶段:Python 深入与提高/文件处理 23004楼
JAVA 全系列/第一阶段:JAVA 快速入门/IDEA的使用和第一个java项目 23005楼
WEB前端全系列/第二阶段:JavaScript编程模块/DOM模型 23009楼

from fake_useragent import UserAgent
import re
import requests
from bs4 import BeautifulSoup
from time import sleep

def get_html(url):
    '''
    :param url: 要爬取的地址
    :return: 返回html
    '''
    headers = {"User_Agent": UserAgent().random}
    resp = requests.get(url,headers=headers)

    #status_code   返回状态码
    if resp.status_code == 200:
        resp.encoding='utf-8'
        return resp.text
    else:
        return None

def parse_list(html):
    '''
    :param html: 传递进来有一个电影列表的的html
    :return: 返回一个电影的url
    '''

    soup = BeautifulSoup(html,'lxml')
    a_list = soup.select(".book-img-box > a")
    list_url = []
    for a in a_list:
        list_url.append(a.get('href'))
    # 解决验证CA
    # ssl._create_default_https_context = ssl._create_unverified_context
    list_url = ['https:{}'.format(url)for url in list_url]
    return list_url

def parse_index(html):
    '''
    :param html: 传递一个有电影信息的html
    :return: 已经提取好的电影信息
    '''
    soup = BeautifulSoup(html,'lxml')
    name = soup.find('h1','em')
    book = soup.find_all("a", class_="writer")[0].text
    return {'作者':name,'书名':book}

def main():
    num = int(input("请输入要获取多少页:"))
    for page in range(num):
        url = 'https://www.qidian.com/all?&page={}'.format(page+1)
        list_html = get_html(url)
        list_url = parse_list(list_html)
        for url in list_url:
            info_html = get_html(url)
            move = parse_index(info_html)
            print(move)

if __name__ == '__main__':
    main()


老师,我这个匹配到h1下面的em标签啊,我网上也查了,也用calss匹配过。最后返回要么空,要么是错误的。

image.png


image.png

Python 全系列/第十四阶段:Python 爬虫开发/爬虫反反爬- 23010楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637