url

Sidekiq任务堵塞问题

橙三吉。 提交于 2020-01-24 02:02:07
  今天发现服务器上的sidekiq 线程全忙。队列里任务积累了好多。   sidekiq里的任务基本都是爬虫脚本,都需要请求外部网站。但是有些网站的响应时间或者读取时间太久,一直一直卡在那里。使得后面的任务不能执行。   所以我们就应该控制请求外部链接的读取时间,避免线程卡住。   在任务里请求外部网站有两种方式:   第一种用rest_client请求. RestClient.post url, params   改进方法: RestClient::Request.execute( :method => :post, :url => url, :payload => params, :timeout => 10, :open_timeout => 10 )   另一种用Nokogiri请求。 Nokogiri::HTML.parse(open(url))   改进方法: Nokogiri::HTML.parse(open(url, :read_timeout => 10)) 来源: https://www.cnblogs.com/wangyuyu/p/4278995.html

Python爬虫:urllib库的基本使用

◇◆丶佛笑我妖孽 提交于 2020-01-24 00:59:22
Python爬虫:urllib库的基本使用 Python 爬虫 请求网址获取网页代码 import urllib.request url = "http://www.baidu.com" response = urllib.request.urlopen(url) data = response.read() # print(data) # 将文件获取的内容转换成字符串 str_data = data.decode( "utf-8" ) print(str_data) # 将结果保存到文件中 with open( "baidu.html" , "w" , encoding= "utf-8" ) as f: f.write(str_data) get带参数请求 import urllib.request def get_method_params (wd) : url = "http://www.baidu.com/s?wd=" # 拼接字符串 final_url = url + wd # 发送网络请求 response = urllib.request.urlopen(final_url) print(response.read().decode( "utf-8" )) get_method_params( "美女" ) 直接这么写会报错: 原因是,网址里面包含了汉字

URL not updating with latest page changes

一个人想着一个人 提交于 2020-01-24 00:43:11
问题 I have a problem that is very similar to this one: How to navigate in JSF? How to make URL reflect current page (and not previous one) It is actually the same very problem but happens in different situations, and it is when I use a <jsp:forward> tag To put you in situation, I have a form that asks for an user and pass to perform login. This redirects to a new page (checklogin.jsp) that performs the checking, updates the session and if everything is ok then it goes like this: if (con

RESTful api设计风格

不打扰是莪最后的温柔 提交于 2020-01-23 23:57:26
简介 REST(Representational State Transfer):表象层状态转变 RESTful对api进行规范和约束,使得api统一规范,增强api的可读性,便于开发。 设计原则 1、每一个URI代表一种资源 2、客户端通过四个HTTP动词(get、post、put、delete),对服务器端资源进行操作 因此,这种风格的接口url中没有动词,而是通过四个HTTP动词(get、post、put、delete)来代表动作。 Http动词 分别对应四种基本操作: GET用来获取资源 POST用来新建资源(也可以用于更新资源) PUT用来更新资源 DELETE用来删除资源 具体实施 版本控制 如github开放平台的API: http:// developer.github.com/v3 / 可以发现,一般的项目加版本v1,v2,v3版本号,为的是兼容一些老版本的接口,这个加版本估计只有大公司大项目才会去使用。 参数命名规范 query parameter可以采用 驼峰 命名法,也可以采用下划线命名的方式,推荐采用 下划线 命名的方式,据说后者比前者的识别度要高,其中,做前端开发基本都后后者,而做服务器接口开发基本用前者。 http://example.com/api/users/today_login 获取今天登陆的用户 http://example.com/api

Python爬虫:urllib库的基本使用

我与影子孤独终老i 提交于 2020-01-23 22:31:30
请求网址获取网页代码 import urllib.request url = "http://www.baidu.com" response = urllib.request.urlopen(url) data = response.read() # print(data) # 将文件获取的内容转换成字符串 str_data = data.decode("utf-8") print(str_data) # 将结果保存到文件中 with open("baidu.html", "w", encoding="utf-8") as f: f.write(str_data) get带参数请求 import urllib.request def get_method_params(wd): url = "http://www.baidu.com/s?wd=" # 拼接字符串 final_url = url + wd # 发送网络请求 response = urllib.request.urlopen(final_url) print(response.read().decode("utf-8")) get_method_params("美女") 直接这么写会报错: 原因是,网址里面包含了汉字,但是ascii码是没有汉字的,需要转义一下: import urllib.request import

JAVA正则表达式分析爬虫数据

*爱你&永不变心* 提交于 2020-01-23 19:29:02
网络爬虫与正则表达式 爬虫是爬取网络资源的一种重要途径,我们可以通过正则表达式来将所抓取到的数据进行分析,提取处所要得到的结果。 实验目标:抓取某一网站上所有的超链接 创建工具类,通过URL获得输出流 ① 使用url类来获得输入流,以便从网站下载资源 ② 使用InputStreamReader将字节流进行转换,便于后续操作 public static String getDataFromURL(String url,String code) { try { StringBuilder dataBuilder = new StringBuilder(); URL myUrl = new URL(url); //将字节流直接转换为字符流,并确定编码,方便操作 BufferedReader bReader = new BufferedReader( new InputStreamReader( myUrl.openStream(),code)); //使用StringBuildr来创建可变字符串,防止产生大量String对象 String data = null; while((data=bReader.readLine())!=null) { dataBuilder.append(data); } bReader.close(); return dataBuilder.toString

ini_set的用法介绍

此生再无相见时 提交于 2020-01-23 19:04:09
PHP ini_set用来设置php.ini的值,在函数执行的时候生效,脚本结束后,设置失效。无需打开php.ini文件,就能修改配置,对于虚拟空间来说,很方便。 函数格式:string ini_set(string $varname, string $newvalue) 不是所有的参数都可以配置,可以查看手册中的列表。 常见的设置: @ ini_set('memory_limit', '64M'); 'menory_limit':设定一个脚本所能够申请到的最大内存字节数,这有利于写的不好的脚本消耗服务器上的可用内存。@符号代表不输出错误。 @ini_set('display_errors', 1); ‘display_errors':设置错误信息的类别。 @ini_set('session.auto_start', 0); ‘session.auto_start':是否自动开session处理,设置为1时,程序中不用session_start()来手动开启session也可使用session, 如果参数为0,又没手动开启session,则会报错。 @ini_set('session.cache_expire', 180); ‘session.cache_expire':指定会话页面在客户端cache中的有限期(分钟)缺省下为180分钟。如果设置了session.cache

PHP ini_set() 函数

ぐ巨炮叔叔 提交于 2020-01-23 19:01:00
PHP ini_set用来设置php.ini的值,在函数执行的时候生效,对于虚拟空间来说,很方便,下面为大家介绍下此方法的使用 PHP ini_set用来设置php.ini的值,在函数执行的时候生效,脚本结束后,设置失效。无需打开php.ini文件,就能修改配置,对于虚拟空间来说,很方便。 函数格式:string ini_set(string $varname, string $newvalue) 不是所有的参数都可以配置,可以查看手册中的列表。 常见的设置: @ ini_set('memory_limit', '64M'); 'menory_limit':设定一个脚本所能够申请到的最大内存字节数,这有利于写的不好的脚本消耗服务器上的可用内存。@符号代表不输出错误。 @ini_set('display_errors', 1); ‘display_errors':设置错误信息的类别。 @ini_set('session.auto_start', 0); ‘session.auto_start':是否自动开session处理,设置为1时,程序中不用session_start()来手动开启session也可使用session, 如果参数为0,又没手动开启session,则会报错。 @ini_set('session.cache_expire', 180); ‘session.cache

自己写个爬虫实现博客文章搜索功能(针对自己的博客文章)

余生长醉 提交于 2020-01-23 18:50:23
文章目录 最终效果 一. 前言 二. 思路 三. 撸起袖子写代码 1 python爬虫,爬自己的CSDN文章 2. web服务器 3. 静态网页 四. 启动web服务器,测试 最终效果 一. 前言 对于自己的CSDN文章,由于只能工具标题关键字搜索,如果文章很多的话,记不清文章标题,这个时候搜索就会比较麻烦,那就自己做一个搜索功能。 二. 思路 把自己的CSDN文章都爬到本地 写个web服务器,负责执行搜索任务 写个静态html页面,负责输入搜索的关键字和展示搜索结果 三. 撸起袖子写代码 目录结构如下 1 python爬虫,爬自己的CSDN文章 python版本:3.8 需要安装库: requests 、 BeautifulSoup csdn_spider.py # csdn_spider.py import requests from bs4 import BeautifulSoup import base64 import os import re import json from threading import Thread import time # 总页数 PAGE_CNT = 16 BLOG_URL = 'https://blog.csdn.net/linxinfa/article/list/' DOWNLOADD_DIR = 'articles/' page

Day02_设计器的使用之样式表篇 (中)

会有一股神秘感。 提交于 2020-01-23 16:37:48
QT样式表,StyleSheet()函数的使用 #include "mywidget.h" #include "ui_mywidget.h" MyWidget::MyWidget(QWidget *parent) : QWidget(parent), ui(new Ui::MyWidget) { ui->setupUi(this); //this表示对整个窗口有效 this->setStyleSheet("QLabel{color:rgb(0, 255, 255);"//设置label文字颜色为靛蓝色 "background-color:red;"//设置label的背景色 "}"); //限制仅对label有效 ui->label->setStyleSheet("QLabel{color:rgb(0, 255, 255);" "background-color:blue;" //设置label的背景色 // "background-image:url(:/new/prefix1/Sunny.jpg);" //添加图片 // "background-image:url(:/new/prefix1/sunny.png);" //添加图片,url中为图片路径 "border-image:url(:/new/prefix1/sunny.png);" //添加图片,url中为图片路径 "}