#!usr/bin/python
# -*- coding:utf8 -*-
"""
https://mil.news.sina.com.cn/roll/index.d.html
获取”中国军情“N页的爬虫,写入json文件中, 每一页的数据写入一个json文件
"""
import os
import json
import requests
from bs4 import BeautifulSoup
class WebSpider(object):
def __init__(self, page_count):
print('----------------loading...-----------------')
self.url = 'https://mil.news.sina.com.cn/roll/index.d.html'
self.headers = {
"User-Agent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"}
self.page_count = page_count
def parse(self):
for page_number in range(1, self.page_count + 1):
self._parser_and_save(page_number)
def _get_data(self, page_number):
params = {
'page': page_number}
response = requests.get(self.url, headers=self.headers, params=params)
return response.content.decode()
def _parser_and_save(self, page_number):
html_str = self._get_data(page_number)
soup = BeautifulSoup(html_str, 'html.parser')
# 层级选择器
news_list = soup.select('.linkNews li a')
news_results = []
for news in news_list:
new_dict = dict()
new_dict['title'] = news.get_text()
new_dict['url'] = news.get('href')
news_results.append(new_dict)
path = os.path.join(os.getcwd(), 'war_news')
if not os.path.exists(path):
os.mkdir(path)
name = 'news_{}.json'.format(page_number)
filepath = os.path.join(path, name)
WebSpider._save_to_json(filepath, news_results)
print('----------------save {} successfully!--------------'.format(name))
@staticmethod
def _save_to_json(filepath, obj):
with open(filepath, 'w', encoding='utf8') as f:
content = json.dumps(obj, ensure_ascii=False, indent=1)
f.write(content)
if __name__ == '__main__':
spider = WebSpider(10)
spider.parse()
文章浏览阅读1.1w次,点赞3次,收藏13次。按默认选择“Single or evaluation license” ,Name 和 Company 随意填!!!JProfiler 9.2 注册码 [email protected]#23874-hrwpdp1sh1wrn#0620 [email protected]#36573-fdkscp15axjj6#25257 [email protected]#5481-u..._jprofiler 注册码
文章浏览阅读327次,点赞5次,收藏6次。如何备份和恢复微信、企业微信的数据文件_企业微信备份文件怎么恢复到电脑
文章浏览阅读4.7k次,点赞2次,收藏4次。videoDetail.js代码var headerImg,vid,MtsHlsUriToken,videoSrc;var getvoice = { "action": "courseChapterList", "groupId": "0", "pageIndex": "1", "pageSize": "999", "productId": _id, "rankType":..._aliplayer 视频列表
文章浏览阅读4.4k次。intel的HAXM可以使android模拟器 以x86方式运行,速度大大提升,本质发生改变。原文:http://software.intel.com/zh-cn/articles/speeding-up-the-android-emulator-on-intel-architecture1,首先配置hosts可以下载android镜像203.208.46.20_haxm window 6.1
文章浏览阅读4.2k次,点赞4次,收藏22次。通过按照上述步骤,您应该能够在Linux上成功安装ONNX Runtime。请注意,安装过程中可能需要根据您的系统和需求进行适当的调整。// 首先创建一个conda环境,因为./build.sh实际上调用的是./tools/cl_build/build.py。这将使用所有可用的CPU核心进行编译。如果希望使用指定数量的核心,可以将$(nproc)替换为所需的核心数量。安装CMake:可以通过包管理器(如apt、yum等)安装CMake。安装C++编译器:确保系统中已安装C++编译器,如GCC或Clang。_onnxruntime linux
文章浏览阅读928次。环境Ubuntu18、openjdk-9、Hadoop3.1.3因为近期网络问题,hadoop是阿里云的镜像,Ubuntu和jdk是华为云的镜像。准备工作更新aptsudo apt-get update安装SSH、配置SSH无密码登陆sudo apt-get install openssh-serverssh localhostexit ..._ubuntu 18.0.4 进行 hadoop 的伪分布模式的配置与测试,并记录详细过程
文章浏览阅读128次。通过本文的介绍,我们学习了如何设计和实现一款单片机路抢答器,并使用Proteus进行仿真验证。主控单元通过IO口向被控单元发送信号,被控单元接收到信号后点亮相应的LED。在本文中,我们将介绍如何设计和实现一款单片机路抢答器,并通过Proteus仿真进行验证。在Proteus中,我们可以将单片机的代码加载到仿真环境中,并模拟输入输出信号。如果LED能够按照设定的时间间隔正确地点亮和熄灭,那么我们的设计就是正确的。如果你有任何问题,请随时提问。在定时器中断服务程序中,我们可以编写代码来控制LED的点亮和熄灭。
文章浏览阅读1.5k次。作者 | 凌敏 自研 NPU 芯片,可能只是一个开始。 OPPO 发布首颗自研 NPU 芯片 在 12 月 14 日举行的 OPPO 未来科技大会 2021 ..._马里亚纳 泽库
文章浏览阅读1.7k次。https://pan.baidu.com/s/10Bm48r7-qruAAzh9-wgPigbsir_cudnn8.9 百度网盘
文章浏览阅读100次。今天,小米官方正式宣布推出了一款增强版的小米笔记本Air,和上一代相比,外观上无任何差别,本次只在硬件配置上作出了全面升级。在价格方面,依然还是熟悉的价格,全系3599元起,本周四将正式开售。升级后的小米笔记本Air,处理器从原来的第七代酷睿处理器升级为了第八代,性能上有所提升。拥有超长续航,续航时间可达5-8小时,支持1C快充技术,35分钟可充电50%。此外在音质方面,内置哈曼全频扬声器,专业级..._小米ruby升级显卡
文章浏览阅读1.1w次,点赞2次,收藏3次。官方链接https://download2.vmware.com/software/esx/67/VMware-ESXi-6.7.0-8169922-depot.zip?HashKey=3083b68c2453a98413e43feb30ac96c8¶ms=%7B%22custnumber%22%3A%22dGRlaCVlQCpldw%3D%3D%22%2C%22sourcefilesize%22%3A%22324.97+MB%22%2C%22dlgcode%22%3A%22ESXI670_esxi6.7 zip下载
文章浏览阅读1.4k次。深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。_mysql 5.7 如何row_number 分组排序