会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 133018个问题
JAVA 全系列/第一阶段:JAVA 快速入门/面向对象详解和JVM底层内存分析 28276楼
Python 全系列/第三阶段:Python 网络与并发编程/并发编程 28277楼
JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 28279楼
JAVA 全系列/第二十八阶段:高并发实战和BATJ大厂面试重难点/Java并发编程核心 28281楼
JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 28282楼
JAVA 全系列/(旧的隐藏)第十二阶段:spring全家桶(Spring Cloud)/Spring Cloud 28283楼

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="js/jquery-1.9.1.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<script type="text/javascript">
//		/**生成验证码*/
		var ran;
		function YZM(){
			x="#yzm_span"
			ran=Math.floor(Math.random()*900000+100000);
			Y_num=$(x);
			Y_num.text(ran);
		}
		function checkname(){
			var reg=/^[\u4e00-\u9fa5]{2,5}$/;
			return check("#uname",reg)
		}
//		//公共方法校验
		function check(id,reg){
			var uname=$(id)
			var alts=uname.attr("alt");
			var val=uname.attr("value");
			var x_span=id+"_span";
			var span=$(x_span);
			console.log(x_span)
			if(val==""||val=null){
				span.text("x"+alts+"不能为空");
				}
		}
	</script>
	<body onload="YZM()">
		<center>
		<h3>注册界面</h3>
		<hr />
		<form action="" method="get">
			<table>
				<tr height="35px">
					<td width="150ox">用户名</td>
					<td width="400px">
						<input type="text" name="uname" id="uname" value="" alt="用户名" onclick="checkname()" />
						<span id="uname_span">*用户名必须是三到五位的汉字</span><br />
					</td>
				</tr>
				<tr height="35px">
					<td>密码:</td>
					<td>
						<input type="password" name="pwd" id="pwd" value="" alt="密码" />
						<span id="pwd_span"></span>
					</td>
				</tr>
				<tr height="35px">
					<td>手机号:</td>
					<td>
						<input type="text" name="phone" id="phone" value="" alt="手机号"  />
					</td>
				</tr>
				<tr height="35px">
					<td>邮箱:</td>
					<td>
						<input type="text" name="email" id="email" value="" alt="邮箱" />
						<span id="email_span"></span>
					</td>
				</tr>
				<tr height="35px">
					<td>性别:</td>
					<td >
						<!--看性别有没有被勾选,看checked属性-->
						男:<input type="radio" name="sex" value="1" />
						女:<input type="radio" name="sex" value="0"/>
						<span id="sex_span">
						</span>
					</td>
				</tr>
				<tr height="35px">
					<td>爱好:</td>
					<td >
						<!--看有没有被勾选,看checked属性-->
						<input type="checkbox" name="favor" id="favor" value="1"/>吃饭
						<input type="checkbox" name="favor" id="favor" value="1"/>睡觉
						<input type="checkbox" name="favor" id="favor" value="1" />打游戏<br />
						<input type="checkbox" name="favor" id="favor" value="1" />看电视
						<input type="checkbox" name="favor" id="favor" value="1"/>录节目
						<span id="favor_span">
						</span>
					</td>
				</tr>
				<tr height="35px">
					<td>籍贯:</td>
					<td>
						<select name="address" id="sel">
							<option value="0">--请选择--</option>
							<option value="1">湖南</option>
							<option value="2">山东</option>
							<option value="30">广东</opntion>
						</select>
						<span id="sel_span"></span>
					</td>
				</tr>
				<tr height="35px">
					<td>验证码</td>
					<td>
						<input type="number" name="" id="yzm" value=""/>
						<span id="yzm_span"></span>
						<span id="yzm2_span"></span>
					</td>
				</tr>
				<tr height="35px">
					<td>个人介绍:</td>
					<td>
						<textarea name="intro" rows="8" cols="30"></textarea>
					</td>
				</tr>
				<tr height="35px">
					<td colspan="2" align="center">
						<input type="checkbox" name="check" id="check" value=""/>是否同意本公司协议
					</td>
					<td></td>
				</tr>
				<tr height="35px">
					<td colspan="2" align="center">
						<input type="submit" name="sub" id="sub" value="注册 " disabled="true" />
					</td>
					<td></td>
				</tr>
			</table>		
		</center>
	</body>
</html>

我用jQuery,为啥

checkname

函数不能运行,



Python 全系列/第七阶段:网页编程基础/Ajax 28284楼
Python 全系列/第二阶段:Python 深入与提高/GUI编程(隐藏) 28285楼

from fake_useragent import UserAgent
import requests
from pyquery import PyQuery
from time import sleep

def get_html(url):
    headers = {'User-Agent': UserAgent().chrome}
    resp = requests.get(url, headers=headers)
    sleep(3)
    if resp.status_code == 200:
        resp.encoding = 'utf-8'
        return resp.text
    else:
        return None

def get_list(html):
    pq = PyQuery(html)
    all_a = pq('div>a[data-act="movies-click"]')
    return [a.get("href") for a in all_a]

def get_index(html):
    pq = PyQuery(html)
    # 电影标题
    name = pq('h1.name').eq(0).text()
    # 电影类型
    types = pq('a.text-link').eq(0).text()
    # 参演人员
    actors_m = pq('li.celebrity.actor>div>.name')
    actor = format_actors(actors_m)
    return f"电影名:{name} \n 类型:{types} \n 演员:{actor} \n"

def format_actors(a_list):
    actors_set = set()
    for a in a_list:
        actors_set.add(a.text.strip())
    return actors_set

def start():
    num = int(input("输入获取多少页数据:"))
    for i in range(num):
        url = f'https://www.maoyan.com/films?offset={i * 30}'
        html = get_html(url)     # 请求内容
        all_href = get_list(html)     # 使用PuQuery解析
        for a in all_href:
            url_ = f'https://maoyan.com{a}'
            index_html = get_html(url_)
            info = get_index(index_html)
            print(info)

if __name__ == '__main__':
    start()

老师,每次获取到第八个,都会出错,index超范围之内的屏幕截图 2021-11-07 221603.png

Python 全系列/第十四阶段:Python 爬虫开发/爬虫基础(旧) 28289楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

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