from fake_useragent import UserAgent import requests from lxml import etree from time import sleep def get_html(url): ''' :param url: 要爬取的地址 :return: 返回html ''' headers = {"User-Agent": UserAgent().chrome} resp = requests.get(url, headers=headers) if resp.status_code == 200: resp.encoding = 'utf-8' return resp.text else: return None def parse_list(html): ''' :param html: 传递进来一个有电影列表的html :return: 返回一个电影列表的url ''' e = etree.HTML(html) list_url = ['http://maoyan.com{}'.format(url) for url in e.xpath('//div[@class="movie-item film-channel"]/a/@href')] return list_url def pares_index(html): ''' :param html: 传递进来一个有电影信息的html :return: 已经提取好的电影信息 ''' e = etree.HTML(html) name = e.xpath('//h1[@class="name"]/text()') type = e.xpath('//li[@class="ellipsis"]/a[1]/text()') actors = e.xpath('//div[@class="celebrity-group"][2]/ul[@class="celebrity-list clearfix"]/li/div/a/text()') actors = format_data(actors) return {"name": name, "type": type, "actors": actors} def format_data(actors): actor_set = set() for actor in actors: actor_set.add(actor.strip()) return actor_set def main(): num = int(input('请输入要获取多少页:')) for page in range(num): url = 'http://maoyan.com/films?showType=3&offset={}'.format(page*30) list_html = get_html(url) list_url = parse_list(list_html) for url in list_url: info_html = get_html(url) movie = pares_index(info_html) print(movie) if __name__ == '__main__': main()
运行的时候没有反应
老师你好,已经自行解决,这些东西都在注册中心上,所以不需要再次导入
老师main函数业没有调用那个compareTo方法啊为什么打印出来的值是排序好了的呢
老师看看我这个出啥问题了,有没有可能是配置的问题?
文字表述部分1
a,b=10,20
print(a,b)
那么a=20,b=10
我想再给他俩换回来,该怎么操作
老师我这个是需要进行转码么,还是怎样处理,用encode不成功
运行的时候成功了但是表里没加上数据
为什么
public Page<Admin> findPage(int page,int size){
这里返回值能定义(page),因为什么定义的啊
package com.pratice; /** * 打印出实心10*10,空心10*10正方形 * 封装成方法,便于重用。 */ public class homeWork2{ private int x,y; public int getX() { return x; } public void setX(int x) { if(x<0){ this.x = 5; } this.x = x; } public int getY() { return y; } public void setY(int y) { if(y<0){ this.y = 5; } this.y = y; } public static void Cicle(int x,int y) { if (x != y) { System.out.println("参数不相等,无法打印正方形,打印出错!!!"); } else { System.out.println(" ===打印实心正方形==="); for (int i = 1; i <= x; i++) { for (int j = 1; j <= y; j++) { System.out.print("*"+"\t"); } System.out.println(); } System.out.println(" ===打印空心正方形==="); for (int i = 1; i <= x; i++) { for (int j = 1; j <= y; j++) { if (i == 1 || i == x || j == 1 || j == y) { System.out.print("*"+"\t"); } else System.out.print(" "+"\t"); } System.out.println(); } } } } class Text{ public static void main(String[] args) { homeWork2 C = new homeWork2(); C.setX(15); C.setY(15); C.Cicle(C.getX(),C.getY()); } }
如果把set()方法换成int类型,return set(x),那把C.set()传入Circle()里面就好了,可以不用get()方法了?
老师这个文件是在哪一步被创建了,我的理解是在对象里创建成功了,第二步就是个判断有没有这个文件的。
支付宝沙箱环境怎么弄啊
怎么查看我的zookeeper的地址?
这节听到我一头雾水
视频5min处,一条样本的损失为什么要用概率相乘
如果对10个维度中仅某一条预测完全正确(y与y^均为0),而其余偏差较大,相乘后损失不就是0了
关于循环的声明变量,如下代码有问题
int i =0; while(i<6){ int sum = sum+i; i++; }
我在第二行中,想xiecheng int i <6
但是会报错,说i已经声明了变量。
但是在循环体中(第三行),sum在每次循环中,也重新int了一下,为什么在循环体中,这样写不会报错呢?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637