info

爬虫简单之二---使用进程爬取起点中文网的六万多也页小说的名字,作者,等一些基本信息,并存入csv中

不羁的心 提交于 2020-01-03 04:33:38
爬虫简单之二---使用进程爬取起点中文网的六万多也页小说的名字,作者,等一些基本信息,并存入csv中 准备使用的环境和库Python3.6 + requests + bs4 + csv + multiprocessing 库的说明 requests模拟计算机对服务器发送requests请求 bs4:页面分析功能,分析页面找到所需要的特定内容 xlwt:把爬取的内容存入csv文件中 multiprocessing:开启多进程爬取 1.准备URLs 起点中文网 起点中文网的URL:https://www.qidian.com/all?orderId=&style=1&pageSize=20&siteid=1&pubflag=0&hiddenField=0&page=2 发现通过改变最后以为数字可以变换页数,由主页内容可知一共有61732页。 使用 urls = ['https://www.qidian.com/all?orderId=&style=1&pageSize=20&siteid=1&pubflag=0&hiddenField=0&page=' + str(k) for k in range(1, 61723)]这个语句可以构造一个所有连接的列表,供后面多进程使用。 2.使用requests库获取页面和使用bs4库来解析页面内容 html = requests . get (

爬虫百度贴吧

大憨熊 提交于 2020-01-03 04:21:09
import requests from bs4 import BeautifulSoup import re def getHTMLText(url): try: r = requests.get(url) r.raise_for_status() r.encoding = 'utf-8' return r.text except: return "Error" def parsePage(html): infos = [] soup = BeautifulSoup(html, 'lxml') li_tags = soup.find_all('li', class_=" j_thread_list clearfix") for li in li_tags: info = {} title = li.find('a', class_="j_th_tit ").string link = 'http://tieba.baidu.com' + li.find('a', class_="j_th_tit ")['href'] author = li.find('span', class_=re.compile("tb_icon_author "))['title'].split(':')[-1].strip() time = li.find('span', class_="pull

c# log4net报错配置问题

可紊 提交于 2020-01-03 03:50:13
log4net:ERROR Failed to find configuration section 'log4net' in the application's .config file. Check your .config file for the <log4net> and <configSections> elements. The configuration section should look like: <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> 因为我在我的程序 项目>Properties>AssemblyInfo.cs AssemblyInfo.cs 文件里添加了 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)] 并且还在我的LogHelper.cs文件里添加了 log4net.Config.XmlConfigurator.Configure();//加载配置文件 感觉上好像是某种东西冲突了,造成的问题 修改后的完整文件:

nginx配置thinkphp5

≯℡__Kan透↙ 提交于 2020-01-03 01:56:53
nginx,php,tp框架版本: nginx版本: [root@z_centos nginx]# /usr/local/nginx/sbin/nginx -h nginx version: nginx/1.13.9 tp5版本: thinkphp 5.0.18 PHP版本: [root@z_centos nginx]# php -v PHP 7.2.3 (cli) (built: Mar 8 2018 14:43:32) ( ZTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.3, Copyright (c) 1999-2018, by Zend Technologies usr/locol/nginx/conf/vhost/www.xxxx.com.conf 配置文件 主配置文件中使用 include ./vhost/*.conf; 引入即可 https 443端口配置项: server { listen 443 ssl; server_name www.xxxx.com; set $root /usr/local/nginx/webroot/tp5/public; ssl

python更新二维字典的值

依然范特西╮ 提交于 2020-01-02 02:46:59
已知二维字典: datas = {'pay_method_info': '{"card_no":"123456789","expiration_month":"06","expiration_year":"28","cvv":"123","first_name":"sdss","last_name":"kite"}'} (1)需要更新card_no的值为:123456 card_no_refresh = {"card_no": "123456"} (2)取出pay_method_info的值,并且由str转为dict,方便对card_no键值对进行操作 import json pay_method_info_value = json.loads(datas['pay_method_info']) 此时的结果pay_method_info_value 为: {"card_no":"123456789","expiration_month":"06","expiration_year":"28","cvv":"123","first_name":"sdss","last_name":"kite"} (3)更新card_no的值 pay_method_info_value.update(card_no_refresh) 此时的结果pay_method_info_value 为: {

连续三次登陆失败锁定账户

喜欢而已 提交于 2020-01-02 02:13:36
连续三次登录失败锁定账户 需求说明:1、输入用户名2、认证成功,提示登录成功,欢迎信息3、登录失败连续三次,提示失败,并退出程序备注:1、users_info是存放用户名及其密码的文件,格式: 用户名 密码, 之间用空格隔开2、locked_file是存放被锁定的用户id的文件,默认为空,格式为: 用户名3、程序会对users_info里的合法用户id进行判断,若连续三次输入错误,提示失败并退出4、程序会对正确的用户名后的密码进行验证,输入三次密码错误,锁定该用户名,并退出思路导图: 一、代码如下 #!/usr/bin/env python3 # -*- coding:utf-8 -*- # Author: davie # file three_login.py """ 需求说明: 1、输入用户名 2、认证成功,提示登录成功,欢迎信息 3、登录失败连续三次,提示失败,并退出程序 备注: 1、users_info是存放用户名及其密码的文件,格式: 用户名 密码, 之间用空格隔开 2、locked_file是存放被锁定的用户id的文件,默认为空,格式为: 用户名 3、程序会对users_info里的合法用户id进行判断,若连续三次输入错误,提示失败并退出 4、程序会对正确的用户名后的密码进行验证,输入三次密码错误,锁定该用户名,并退出 """ import os,sys,getpass

C# List 排序

北城以北 提交于 2020-01-02 00:09:54
(转自:http://www.cnblogs.com/bradwarden/archive/2012/06/19/2554854.html) 第一种:实体类实现IComparable接口,而且必须实现CompareTo方法 实体类定义如下: 1   class Info:IComparable 2 { 3 public int Id { get; set; } 4 public string Name { get; set; } 5 6 public int CompareTo(object obj) { 7 int result; 8 try 9 { 10 Info info = obj as Info; 11 if (this.Id > info.Id) 12 { 13 result = 0; 14 } 15 else 16 result = 1; 17 return result; 18 } 19 catch (Exception ex) { throw new Exception(ex.Message); } 20 } 21 } 调用方式如下,只需要用sort方法就能实现对list进行排序。 1 private static void ReadAccordingCompare() 2 { 3 List<Info> infoList = new List<Info>(); 4

zkServer.sh start zkServer启动失败

时间秒杀一切 提交于 2020-01-01 13:29:38
[root@bigdatacloud zookeeper-3.4.6]# cat zookeeper.out 2016-06-19 13:06:57,359 [myid:] - INFO [main:QuorumPeerConfig@103] - Reading configuration from: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg 2016-06-19 13:06:57,370 [myid:] - INFO [main:QuorumPeerConfig@340] - Defaulting to majority quorums 2016-06-19 13:06:57,383 [myid:2] - INFO [main:DatadirCleanupManager@78] - autopurge.snapRetainCount set to 3 2016-06-19 13:06:57,384 [myid:2] - INFO [main:DatadirCleanupManager@79] - autopurge.purgeInterval set to 0 2016-06-19 13:06:57,386 [myid:2] - INFO [main:DatadirCleanupManager@101] - Purge task

FBKVO源码学习

可紊 提交于 2020-01-01 12:29:45
用法: 1. 初始化并 /*--> */ /*--> */ - (FBKVOController *) kvoCtrl { if (! _kvoCtrl) { _kvoCtrl = [ FBKVOController controllerWithObserver : self ]; } return _kvoCtrl ; } 2. 添加观察者两种方式,target和函数式编程 /*--> */ /*--> */ [ self . kvoCtrl observe: self . person keyPath: @"age" options: 0 action: @selector (fx_observerAge)]; [ self . kvoCtrl observe: self . person keyPath: @"name" options:( NSKeyValueObservingOptionNew) block:^( id _Nullable observer, id _Nonnull object, NSDictionary< NSString *, id > * _Nonnull change) { NSLog( @"****%@****",change); }]; 源码查看: 中间也生成一个信息类,来保存KVO信息。 /*--> */ /*--> */ - ( void

分库分表之第五篇

心已入冬 提交于 2020-01-01 09:38:30
分库分表之第五篇 9.案例 9.1.需求描述 9.2.数据库设计 9.3.环境说明 9.4.环境准备 9.4.1.mysql主从同步(windows) 9.4.2.初始化数据库 9.5.实现步骤 9.5.1搭建maven工程 9.5.2 分片配置 9.5.3 添加商品 9.5.4 查询商品 9.5.5 统计商品 10. 总结 9.案例 9.1.需求描述 电商平台商品列表展示,每个列表项中除了包含商品基本信息、商品描述信息之外,还包括了商品所属的店铺信息,如下 : 本案例实现功能如下: 1、添加商品 2、商品分页查询 3、商品统计 9.2.数据库设计 数据库设计如下,其中商品与店铺信息之间进行了垂直分库,分为了PRODUCT_DB(商品库)和STORE_DB(店铺库);商品信息还进行了垂直分表,分为了商品基本信息(product_info)和商品描述信息(product_descript),地理区域信息(region)作为公共表,冗余在两库中 : 考虑到商品信息的数据增长性,对PRODUCT_DB(商品库)进行了水平分库,分片键使用店铺id,分片策略为店铺 ID%2 + 1,因此商品描述信息对所属店铺ID进行了冗余; 对商品基本信息(product_info)和商品描述信息(product_descript)进行水平分表,分片键使用商品id,分片策略为 商品ID%2 + 1