Spider--补充_None_global_urlparse
# 知识点补充:
# 1) None:
a = None
if a:
print("非None")
else:
print("None")
if a is not None:
print("非None")
else:
print("None")
# None
# None
a = ''
if a:
print("非空")
else:
print("空")
if a != '':
print("非空")
else:
print("空")
# 空
# 空
# 2) global 的用法:在函数内引用 列表,集合,元组,字典的时候,不需要使用 global
l=[1,2,3]
s=set(l)
dic={'k1':'v1'}
t=(1,2,3) # 不可变类型
v='123'
def test():
l.append(4)
s.add(5)
dic['k2']='v2'
t2=list(t)
print(t2) # [1, 2, 3]
global v
v=v+'4'
test()
print(l) # [1, 2, 3, 4]
print(s) # {1, 2, 3, 5}
print(dic) # {'k1': 'v1', 'k2': 'v2'}
print(v) # 1234
# 3) 使用 urlparse解析 url:
# 我们通过parsed的各个属性来访问不同的部分
from urllib.parse import urlparse
url='https://www.cnblogs.com/Alexephor/p/11431950.html'
parsed = urlparse(url) # 将字符串进行解析
print('scheme :'+ parsed.scheme) #网络协议 https
print('netloc :'+ parsed.netloc) #服务器位置(也可呢能有用户信息) www.cnblogs.com
print('path :'+ parsed.path) #网页文件在服务器中存放的位置 /Alexephor/p/11431950.html
print('params :'+ parsed.params) #可选参数
print('query :'+ parsed.query) #连接符(&)连接键值对
print('fragment:'+ parsed.fragment) #拆分文档中的特殊猫
# print('username:'+ parsed.username) #用户名
# print('password:'+ parsed.password) #密码
print('hostname:'+ parsed.hostname) #服务器名称或者地址 www.cnblogs.com
print('port :', parsed.port) #端口(默认是80) None
[1, 2, 3]
[1, 2, 3, 4]
{1, 2, 3, 5}
{'k1': 'v1', 'k2': 'v2'}
1234
scheme :https
netloc :www.cnblogs.com
path :/Alexephor/p/11431950.html
params :
query :
fragment:
hostname:www.cnblogs.com
port : None
# 爬取内链和外链的练习请见 权威指南 的随书代码
Spider--补充_None_global_urlparse的更多相关文章
- scrapy知识补充--scrapy shell 及Spider
什么是scrapy shell? Scrapy终端是一个交互终端,我们可以在未启动spider的情况下尝试及调试代码,也可以用来测试xpath或css表达是,来查看他们的工作方式,方便爬取页面中的数据 ...
- 什么是网络爬虫(Spider) 程序
Spider又叫WebCrawler或者Robot,是一个沿着链接漫游Web 文档集合的程序.它一般驻留在服务器上,通过给定的一些URL,利用HTTP等标准协议读取相应文档,然后以文档中包括的所有未访 ...
- 让Scrapy的Spider更通用
1,引言 <Scrapy的架构初探>一文所讲的Spider是整个架构中最定制化的一个部件,Spider负责把网页内容提取出来,而不同数据采集目标的内容结构不一样,几乎需要为每一类网页都做定 ...
- 爬虫之 案列1补充(pipelines优化)
1. 先打开settings.py文件将 'ITEM_PIPELINES'启动(取消注释即可) 2. spider代码 # -*- coding: utf-8 -*- import scrapy im ...
- 【Spider】学习使用XMLFeedSpider
前面写了学习CrawlSpider遇到的问题后,今天学XMLFeedSpider又出现了启动后没爬取到数据,但又不报错的情况 经过排查,发现又是一个粗心大意的错误: class SpiderUserX ...
- 4-5 Scrapy知识补充
FormRequest FormRequest类是专门用来处理HTML表单的,同时对隐藏的表单处理也很方便.适合用来完成登录操作. 类原型:class scrapy.http.FormRequest( ...
- scrapy补充-分布式爬虫
spiders 介绍:在项目中是创建爬虫程序的py文件 #1.Spiders是由一系列类(定义了一个网址或一组网址将被爬取)组成,具体包括如何执行爬取任务并且如何从页面中提取结构化的数据. #2.换句 ...
- MVC Core 网站开发(Ninesky) 2.1、栏目的前台显示(补充)
在2.1.栏目的前台显示中因右键没有添加视图把微软给鄙视了一下,后来有仔细研究了一下发现应该鄙视自己,其实这个功能是有的,是自己没搞清楚乱吐糟. 其实只要在NuGet中安装两个包(Microsoft. ...
- RabbitMq应用一的补充(RabbitMQ的应用场景)
直接进入正题. 一.异步处理 场景:发送手机验证码,邮件 传统古老处理方式如下图 这个流程,全部在主线程完成,注册->入库->发送邮件->发送短信,由于都在主线程,所以要等待每一步完 ...
- spider RPC入门指南
本部分将介绍使用spider RPC开发分布式应用的客户端和服务端. spider RPC中间件基于J2SE 8开发,因此需要确保服务器上安装了JDK 8及以上版本,不依赖于任何额外需要独立安装和配置 ...
随机推荐
- MeteoInfoLab脚本示例:读取远程文件
利用Unidata netCDF Java库对远程文件的读取能力(OpenDAP, ADDE, THREDDS等),可以读取远程文件并绘图.脚本程序: fn = 'http://monsoondata ...
- 分布式系统中的CAP、ACID、BASE概念
目录 CAP ACID BASE CAP 分布式系统中,这三个特性只能满足其中两个. 一致性(Consistency):分布式中一致性又分强一致性和弱一致性,强一致性主浊任何时刻任何节点看到的数据都是 ...
- 【贪心算法】CF3D Least Cost Bracket Sequence
题目大意 洛谷链接 给一个序列,序列里面会有左括号.问号.右括号.对于一个?而言,可以将其替换为一个(,也可以替换成一个),但是都有相应的代价.问:如何替换使得代价最小.前提是替换之后的序列中,括号是 ...
- 【原创】有利于提高xenomai 实时性的一些配置建议
版权声明:本文为本文为博主原创文章,转载请注明出处.如有错误,欢迎指正. @ 目录 一.影响因素 1.硬件 2.BISO(X86平台) 3.软件 4. 缓存使用策略与GPU 二.优化措施 1. BIO ...
- 落地Azure CosmosDb的一个项目分享
我们遇到了什么? 我们有这么一个业务场景,就是某供应商会去爬取某些数据,爬到后会发到一个FTP上,然后我们定时去获取这些数据 这个数据有大有小,小的30多M数据量百万级,大的数据量能到数百M上千万数据 ...
- spring boot:使用caffeine+redis做二级缓存(spring boot 2.3.1)
一,为什么要使用二级缓存? 我们通常会使用caffeine做本地缓存(或者叫做进程内缓存), 它的优点是速度快,操作方便,缺点是不方便管理,不方便扩展 而通常会使用redis作为分布式缓存, 它的优点 ...
- utf-8和utf-8-sig的区别
前言:在写入csv文件中,出现了乱码的问题. 解决:utf-8 改为utf-8-sig 区别如下: 1."utf-8" 是以字节为编码单元,它的字节顺序在所有系统中都是一样的,没有 ...
- Linux用户和组管理命令-用户属性修改usermod
用户属性修改 usermod 命令可以修改用户属性 格式: usermod [OPTION] login 常见选项: -u UID: 新UID -g GID: 新主组 -G GROUP1[,GROUP ...
- Python基础知识点整理(详细)
Python知识点整理(详细) 输出函数 print()可以向屏幕打印内容,或者在打开指定文件后,向文件中输入内容 输入函数 input([prompt])[prompt] 为输入的提示字符.该函数返 ...
- ORA-12609报错分析
问题:监控不断告警ORA-12609 Wed 10/14/2020 10:40 AM 12CRAC1-ALERT中出现ORA错误,请检查 171- nt OS err code: 0 172- Cli ...