怎么把4399小游戏的代码_25行代码带你爬取4399小游戏数据,看下童年的游戏是否还在...

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

还记得童年的网页小游戏吗?今天带大家爬取4399小游戏网站的数据,游戏名字+链接地址

目标网站

http://www.4399.com/

908c8999d2f4a8753fdc8452a1359204.png

基本环境配置

  • python 3.6
  • pycharm
  • requests
  • parsel
  • csv

爬虫代码

导入需要用到的工具

1import requests
2import parsel
3import csv

请求网页

1    url = 'http://www.4399.com/flash_fl/5_{}.htm'.format(page)
2    headers = {
3        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
4    }
5    response = requests.get(url=url, headers=headers)
6    response.encoding = response.apparent_encoding

c713fe251341ab132ee47023ce4f35b8.png

解析网页,爬取数据

1    for li in lis:
2        dit ={}
3        data_url = li.css('a::attr(href)').get()
4        new_url = 'http://www.4399.com' + data_url.replace('http://', '/')
5        dit['游戏地址'] = new_url
6        title = li.css('img::attr(alt)').get()
7        dit['游戏名字'] = title
8        print(new_url, title)

保存数据

1f = open('4399游戏.csv', mode='a', encoding='utf-8-sig', newline='')
2
3csv_writer = csv.DictWriter(f, fieldnames=['游戏地址', '游戏名字'])
4csv_writer.writeheader()
5f.close()

运行代码,效果如下图

ea90879d3e97a4a2b25fad1e497ac036.png

af44ecf5540328cf6b3a6814897a6fa5.png

每秒200条数据,超快的爬取速度

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/550847.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

css折线效果,CSS3 box-shadow实现纸张的曲线投影效果 张鑫旭-鑫空间-鑫生活

展示代码CSS代码:.curved_box {display: inline-block;*display: inline;width: 200px;height: 248px;margin: 20px;background-color: #fff;border: 1px solid #eee;-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.06) inset;-moz-…

如何使mysql编码格式_Mysql设置编码方式及基本操作

介绍Mysql 默认安装后的编码方式默认一般是Latin, 在插入汉字数据或读取的时候,存在乱码或报错。这时候,只需要修改编码方式为UTF8,统一数据库和数据表的编码方式。如何修改1、 复制MySQL数据库中的配置文件,然后粘贴重命名为my.i…

ajax拼接外部变量,在ajax调用中访问函数外部变量的问题

$.getJSON(“http://192.168.1.9:8983/solr/db/select/?wtjson&&start0&rows100&q"query"&json.wrf?", function(result){//$.each(result.response.docs, function(result){if(result.response.numFound0){$.ajax({url: "http://19…

mysql修改文件名_SQL语句实现附加数据库,可以改数据库物理文件名

数据库名,数据库全路径,数据库日志全路径GOUSE 数据库名--添加一个登录前指定默认数据库EXEC sp_addlogin 登录名,密码,数据库名GO--处理空登录名(使登录用户和数据库的孤立用户对应起来,在这个用户有对象时用)sp_change_users_login update_one,登录名,登录名GO--修…

ftp服务器复制粘贴文件夹,ftp服务器复制粘贴文件夹

ftp服务器复制粘贴文件夹 内容精选换一换下载地址:https://varnish-cache.org/_downloads/varnish-6.2.0.tgz若服务器可以访问网络,则可以直接在服务器上使用wget命令下载源码。--prefixPATH:指定Varnish的安装目录。HSS默认会将防护目录下的…

服务器采购框架合同协议书范本,手写一个满足WSGI协议的Server

在做Web开发时,一个很重要的概念就是服务端和应用程序之间的沟通协议,比如java中的servlet,由于servlet的存在,使得用java开发的web程序既可以跑在tomcat上,也可以是jetty。反之亦然。而在python中,对应的协…

怎么把项目的数据上传到服务器,怎么把sql数据库上传到云服务器

怎么把sql数据库上传到云服务器 内容精选换一换本章介绍如何在管理控制台购买GaussDB(for openGauss)实例,并通过内网使用弹性云服务器连接GaussDB(for openGauss)实例。GaussDB(for openGauss)提供gsql工具帮助您在命令行下连接数据库,您需要提前创建一…

微信无连接服务器1.104,微信成语猜猜看太子少师答案汇总 太子少师1-104关攻略...

本文导航第1页: 太子少师第8页:翰林第2页:学童第9页:侍郎第3页:童生第10页:尚书第4页:秀才第11页:大学士第5页:举人第12页:御史第6页:贡士第13页&…

java反码_Java:二进制(原码、反码、补码)与位运算

一、二进制(原码、反码、补码)二进制的最高位是符号位(“0”代表正数,“1”代表负数);Java中没有无符号数;计算机以整数的补码进行运算;1. 原码:将一个整数转换成二进制表示以 int 类型为例,int类型占4个字…

java微博开发_【新手入门篇】新浪微博应用开发之Java入门篇

新浪微博应用开发之Java篇2012年11月11日星期日一、开发流程简介:2、 在以下地址创建一个应用,假设创建一个桌面应用:3、 进入管理中心,查看并记住应用ID和密码:4、 在“应用中心-高级信息”设置回调页面(设置后一般…

java 反射泛型方法_java基础之反射和泛型以及注解

java基础之反射和泛型以及注解泛型擦除泛型擦除: 泛型只在编译时期有效,编译后的字节码文件中不存在泛型信息。声明泛型集合,集合两端类型必须一致。类型也可以用包装类型,泛型的类型必须是引用类型,不能为基本类型。实…

java 16进制整数,Java将整数转换为十六进制整数

Im trying to convert a number from an integer into an another integer which, if printed in hex, would look the same as the original integer.For example:Convert 20 to 32 (which is 0x20)Convert 54 to 84 (which is 0x54)解决方案public static int convert(int n)…

flex java oracle_Flex使用Blazeds与Java交互及自定义对象转换详解-DATAGRID读取ORACLE数据...

一、建立Flex与Java交互的工程。本文中讲到的交互是利用Blazeds的,因为这个是免费的,呵呵,我是穷人。首先就是去下载Blazeds的压缩包,这个可以从官网或者CSDN、JavaEye上下到。解压缩这个包,将里面的Blazeds.war解压&a…

java重定向cookie_response请求转发和重定向,cookie

一.response:响应对象 提供的方法: void addCookie(Cookie cookie);服务端向客户端增加一个cookie对象 void sendRedirect(String location) throws IOExcetion:页面跳转的一种方法 void setContentType(String type):设置服务端响应的编码 示例重定向: login.jsp—->che…

linux java 文件夹创建失败_Linux文件夹文件创建、删除

Linux删除文件夹命令linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可。直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字删除目录、文件…

python zip函数转制_Python zip函数及用法

zip() 函数是 Python 内置函数之一,它可以将多个序列(列表、元组、字典、集合、字符串以及 range() 区间构成的列表)“压缩”成一个 zip 对象。所谓“压缩”,其实就是将这些序列中对应位置的元素重新组合,生成一个个新的元组。和 Python 3.x …

python中sin函数在哪个模块中_python标准库math中sin函数的参数单位是角度吗_弧度 - math.h中的三角函数,参数是...

在数学和物理中,弧度是角的度量单位。它是由国际单位制导出的单位,单位缩写是rad。定义1:弧长等于半径的弧,其所对的圆心角为1弧度。(即两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于…

java jvm 加载_Jvm是如何加载Java类的?

前言我们知道Java语言的类型可以分为两大类:基本类型「primitive types」和引用类型「reference types」.对于Java的基本数据类型是Java虚拟机定义好的.至于另一大类「引用数据类型」, Java将其分为四种类型:类接口数组泛型参数由于「泛型参数」在编译时期会被擦除, 因此Java虚…

python查找文件内容_python自定义查找文件内容

#!/usr/bin/env python#coding:utf8#此脚本为查找递归目录下所有文件匹配的内容import os,sys,tabdef paths(path):list_pathos.walk(path)all_file[]for p,d,fl in list_path:for f in fl:pfileos.path.join(p,f)if os.path.isdir(pfile):paths(pfile)all_file.append(pfile)r…

derby mysql 同步_[Derby]数据库操作说明

1. 创建新数据库connect jdbc:derby:mydb;createtrue;ij> connect jdbc:derby:mydb;createtrue;ij>将在当前目录下建立数据库目录 mydb;如果已经存在数据库 mydb,则提示:警告 01J01:未创建数据库"mydb",而是建立到现有数据库…