gecko

02爬取豆瓣最受欢迎的250部电影

故事扮演 提交于 2020-08-15 01:45:10
# 爬取豆瓣最受欢迎的250部电影,并写入Excel表格中 import requests,xlwt from bs4 import BeautifulSoup # 请求豆瓣网站,获取网页源码 def request_douban(url): try : # 请求url headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"} response = requests.get(url,headers = headers) # 判断网页的返回码是不是200 print(response.status_code) if response.status_code == 200: return response.text except requests.RequestException: return None book = xlwt.Workbook(encoding = "utf-8",style_compression = 0 ) # 先定义一个Excel表格,写好名称,图片等信息 sheet = book.add_sheet("豆瓣电影Top250",cell

Python爬虫案例:爬取网易云音乐

旧巷老猫 提交于 2020-08-14 20:21:18
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者:Jonsson 喜欢的朋友欢迎关注小编,除了分享技术文章之外还有很多福利,私信“资料”可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等。 代码如下: import os from lxml import etree import requests # 设置头部信息,防止被检测出是爬虫 headers = { ' User-Agent ' : ' Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36 ' } url = " https://music.163.com/discover/toplist?id=3778678 " base_url = ' http://music.163.com/song/media/outer/url?id= ' # 新建一个字典用于存储最终所需要的数据 d = dict() re = requests.get(url=url, headers= headers).text #

HTTP头信息解读

别说谁变了你拦得住时间么 提交于 2020-08-14 06:28:49
正确的设置HTTP头部信息有助于搜索引擎判断网页及提升网站访问速度,本文为多篇“HTTP请求头相关文章”及《HTTP权威指南》一书的阅读后个人汇总整理版,以便于理解。 通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。 <a href="http://www.ecdoer.com/wp-content/uploads/2013/06/http.jpg" class="cboxElement" rel="example4" 2909"="" style="text-decoration: none; color: rgb(1, 150, 227);"> Http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET、POST、PUT、DELETE。一个URL地址用于描述一个网络上的资源,而HTTP中的GET、POST、PUT、 DELETE就对应着对这个资源的查、改、增、删4个操作,我们最常见的就是GET和POST了。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。 HTTP头信息解读

手把手教你使用Python抓取QQ音乐数据(第四弹)

风格不统一 提交于 2020-08-12 11:07:09
【一、项目目标】 通过 手把手教你使用Python抓取QQ音乐数据(第一弹) 我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名、专辑名、播放链接。 通过 手把手教你使用Python抓取QQ音乐数据(第二弹) 我们实现了获取 QQ 音乐指定歌曲的歌词和指定歌曲首页热评。 通过 手把手教你使用Python抓取QQ音乐数据(第三弹) 我们实现了获取更多评论并生成词云图。 此次我们将将三个项目封装在一起,通过菜单控制爬取不同数据。 【二、需要的库】 主要涉及的库有:requests、openpyxl、html、json、wordcloud、jieba 如需更换词云图背景图片还需要numpy库和PIL库(pipinstall pillow) 如需生成.exe需要pyinstaller -F 【三、项目实现】 1.首先确定菜单,要实现哪些功能: ①获取指定歌手的歌曲信息(歌名、专辑、链接) ②获取指定歌曲歌词 ③获取指定歌曲评论 ④生成词云图 ⑤退出系统 代码如下: class QQ(): def menu(self): print('欢迎使用QQ音乐爬虫系统,以下是功能菜单,请选择。\n') while True: try: print('功能菜单\n1.获取指定歌手的歌曲信息\n2.获取指定歌曲歌词\n3.获取指定歌曲评论\n4.生成词云图\n5.退出系统\n')

利用正则表达式对网络日志数据进行数据清洗

流过昼夜 提交于 2020-08-12 08:10:48
原数据: 183.49.46.228 - - [18/Sep/2013:06:49:23 +0000] "-" 400 0 "-" "-" 163.177.71.12 - - [18/Sep/2013:06:49:33 +0000] "HEAD / HTTP/1.1" 200 20 "-" "DNSPod-Monitor/1.0" 163.177.71.12 - - [18/Sep/2013:06:49:36 +0000] "HEAD / HTTP/1.1" 200 20 "-" "DNSPod-Monitor/1.0" 101.226.68.137 - - [18/Sep/2013:06:49:42 +0000] "HEAD / HTTP/1.1" 200 20 "-" "DNSPod-Monitor/1.0" 101.226.68.137 - - [18/Sep/2013:06:49:45 +0000] "HEAD / HTTP/1.1" 200 20 "-" "DNSPod-Monitor/1.0" 60.208.6.156 - - [18/Sep/2013:06:49:48 +0000] "GET /wp-content/uploads/2013/07/rcassandra.png HTTP/1.0" 200 185524 "http://cos.name/category

web前端开发学校分享前端一些小知识点

那年仲夏 提交于 2020-08-12 06:45:26
  一,主流浏览器及内核   Chrome——Webkit/blink   IE ——Trident   Firfox ——Gecko   Safari—— Webkit   Opera—— presto   二,css权重   !importent ——Infinity(正无穷)   行间样式 ——1000   id ——100   class/属性/伪类 ——10   标签/为元素 ——1   通配符—— 0   css的优先级取决于权重,权重间的进制是256.   三,行级 块级 行级块 元素   行级元素:1内容决定元素大小 2无法通过css改变宽高(span em a strong……)   块级元素:1独占一行 2可以改变宽高 (p div ul li form address……)   行级块元素:内容决定大小 可以改变宽高 (img)   四,定位   绝对定位:absolute:脱离原来位置,以最近父级定位,如果没有以文档顶端定位   相对定位:relative:保留自己以前的位置,并且以自己以前位置定位   五,margin俩bug   1,margin-top塌陷:子div在父div中 子div margin-top无效,除非子div margin-top值大于父级的,而且此时还带动父级一起移动。   父级div上边框消失了一样,给父级加上一个上边框可以解决

JavaScript Array (数组) 对象 基本属性和方法

耗尽温柔 提交于 2020-08-12 02:58:42
Array (数组)对象 数组对象的作用是:使用单独的变量名来存储一系列的值。 创建Array对象的语法 new Array(); new Array(size); new Array(element0, element1, ..., elementn); 参数 参数 size 是期望的数组元素个数。返回的数组,length 字段将被设为 size 的值。 参数 element ..., elementn 是参数列表。当使用这些参数来调用构造函数 Array() 时,新创建的数组的元素就会被初始化为这些值。它的 length 字段也会被设置为参数的个数。 返回值 返回新创建并被初始化了的数组。 如果调用构造函数 Array() 时没有使用参数,那么返回的数组为空,length 字段为 0。 当调用构造函数时只传递给它一个数字参数,该构造函数将返回具有指定个数、元素为 undefined 的数组。 当其他参数调用 Array() 时,该构造函数将用参数指定的值初始化数组。 当把构造函数作为函数调用,不使用 new 运算符时,它的行为与使用 new 运算符调用它时的行为完全一样。 定义数组 数组对象用来在单独的变量名中存储一系列的值。 var myArray = new Array() 这里定义一个名为myArray的数组对象 赋值的两种方法(可以添加任意多的值): 1. var

【SpringBoot WEB 系列】RestTemplate 之自定义请求头

自作多情 提交于 2020-08-11 11:00:52
【WEB 系列】RestTemplate 之自定义请求头 上一篇介绍了 RestTemplate 的基本使用姿势,在文末提出了一些扩展的高级使用姿势,本篇将主要集中在如何携带自定义的请求头,如设置 User-Agent,携带 Cookie Get 携带请求头 Post 携带请求头 拦截器方式设置统一请求头 <!-- more --> I. 项目搭建 1. 配置 借助 SpringBoot 搭建一个 SpringWEB 项目,提供一些用于测试的 REST 服务 SpringBoot 版本: 2.2.1.RELEASE 核心依赖: spring-boot-stater-web <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> 为了后续输出的日志更直观,这里设置了一下日志输出格式,在配置文件 application.yml 中,添加 logging: pattern: console: (%msg%n%n){blue} 2. Rest 服务 添加三个接口,分别提供 GET 请求,POST 表单,POST json 对象,然后返回请求头

自学 Python 到什么程度能找到工作,1300+ 条招聘信息告诉你答案

我怕爱的太早我们不能终老 提交于 2020-08-11 09:44:47
随着移动互联网的发展以及机器学习等热门领域带给人们的冲击,让越来越多的人接触并开始学习 Python。无论你是是科班出身还是非科班转行,Python 无疑都是非常适合你入门计算机世界的第一门语言,其语法非常简洁,写出的程序易懂,这也是 Python 一贯的哲学「简单优雅」,在保证代码可读的基础上,用尽可能少的代码完成你的想法。 很多人学习python,不知道从何学起。 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。 很多已经做案例的人,却不知道如何去学习更加高深的知识。 那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码! QQ群:1097524789 那么,我们学习 Python 到什么程度,就可以开始找工作了呢,大家都知道,实践是检验真理的唯一标准,那么学到什么程度可以找工作,当然得看市场的需求,毕竟企业招你来是工作的,而不是让你来带薪学习的。 所以,今天我们就试着爬取下拉钩上关于 Python 的招聘信息,来看看市场到底需要什么样的人才。 网页结构分析 打开拉钩网首页,输入关键字「Python」,接着按 F12 打开网页调试面板,切换到「Network」选项卡下,过滤条件选上「XHR」,一切准备就绪之后点击搜索,仔细观察网页的网络请求数据。 从这些请求中我们可以大致猜测到数据好像是从 jobs

istio http2 404 NR问题记录

泄露秘密 提交于 2020-08-11 07:41:37
一直运行好好的突然今天报(istio 1.5.4) [2020-06-22T05:20:15.393Z] "GET /unionmanagement/sso HTTP/2" 404 NR "-" "-" 0 0 0 - "10.42.0.1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 OPR/68.0.3618.165" "a72f7099-2f1b-9568-89af-1f76d9a140ec" "127.0.0.1" "-" - - 10.42.0.253:443 10.42.0.1:24402 - - http1.1 访问正常 ,以为证书过期了,重新申请证书也不行。后来看官网发现了 删了另外一个gateway(证书一样)就正常了 来源: oschina 链接: https://my.oschina.net/yjwu/blog/4319352