19highlights for day 15 of Python

19 篇文章 0 订阅
18 篇文章 0 订阅
本文深入探讨了正则表达式在匹配手机号、邮箱及密码强度的应用,并对比了match与search函数的区别。此外,还介绍了如何在Python中执行JS代码,以及html2text库的作用。重点讲解了Scrapy爬虫框架的安装流程、常见错误解决方法、项目目录结构和运行原理。同时,提供了创建爬虫项目的步骤和运行命令。
摘要由CSDN通过智能技术生成

1.正则表达式匹配手机号(会手写表达式)

pattern = re.compile(“1(3|4|5|6|7|8|9)\d\d\d\d\d\d\d\d\d”)

pattern = re.compile(“1[3-9]\d{9}”)

a = pattern.match(phone)

print(a)

2.正则表达式匹配邮箱(会手写表达式)

pattern = re.compile("\w+_?\w+@\w+.[a-zA-Z]+")

pattern = re.compile("([0-9A-Za-z-_.]+)@([0-9a-z]+.[a-z]{2,3}(.[a-z]{2})?)")

result = pattern.match(email)

print(result)

3.正则表达式匹配强度
def password_type(password):

if 6 <= len(password) <= 12:

weak = re.compile(r’^((\d+)|([A-Za-z]+)|(\W+))$’)

level_weak = weak.match(password)

level_middle = re.match(r’([0-9]+(\W+|_+|[A-Za-z]+))+|([A-Za-z]+(\W+|_+|\d+))+|((\W+|_+)+(\d+|\w+))+’,

password)

level_strong = re.match(r’(\w+|\W+)+’, password)

if level_weak:

print(‘弱’, level_weak.group())

else:

if (level_middle and len(level_middle.group()) == len(password)):

print(‘中’, level_middle.group())

else:

if level_strong and len(level_strong.group()) == len(password):

print(‘强’, level_strong.group())

else:

print(“密码长度不够”)

4.match和search的区别

match()从头匹配

search()从任意位置匹配

5.python如何执行js代码并调用某个函数

破解网址中的加密参数

import execjs(先导包)

with open(“a.js”, encoding=“utf-8”) as f:

js_code = f.read()

js_obj = execjs.compile(js_code)

a = js_obj.call(“hex_md5”, “zhangsan”)

print(a)

6.正则如何换行匹配

\n

7.html2text库是做什么的

获取网页源码中的文本

HTML代码转换为Text文本

8.正则表达式的常用方法有哪些

test() exec() match() replace()

9.常用的爬虫框架有哪些?

scrapy

pyspider

portia

newspaper

goose

10.scrapy框架的安装流程以及对应错误的解决方案

1.打开cmd命令敲pip install scrapy,然后回车

安装可能出现的问题

问题1

Microsoft Visual C++ 14.0 is required…

解决方案

https://blog.csdn.net/nima1994/article/details/74931621?locationNum=10&fps=1

或者通过源码安装

问题2

time out

解决方案

pip install -i https://pypi.douban.com/simple scrapy

问题3

from cryptography.hazmat.bindings._openssl import ffi, lib

ImportError: DLL load failed: %1

解决方案

pip uninstall pyopenssl

pip uninstall cryptography

pip install pyopenssl

pip install cryptography

问题4

ModuleNotFoundError: No module named ‘_cffi_backend’

解决方案

pip install pypiwin32

问题5

scrapy shell url 发生TypeError: ‘float’ object is not iterable

解决方案

检查当下的twisted版本是17.1.0, 需要切换至16.6.0

pip uninstall twisted

pip install twisted==16.6.0

11.如何使用scrapy创建一个爬虫项目

打开cmd命令行敲cd Desktop,然后回车

然后敲 scrapy startproject 最后加要爬的项目名称***Spider

12.爬虫项目目录的每个文件干什么用的

spiders:改文件专门存放爬虫文件

items: 用于存储爬虫数据

middlewares: 用于处理爬虫签的请求和响应,例如设置headers

pipelines :管道文件,在存爬虫数据之前,会先穿过管道

settings : 全局爬虫的配置文件,一般用设置反反爬虫相关措施,数据库配置

scapy : 用于部署爬虫项目到服务器中

13.scrapy的运行原理是什么

scrapy引擎。顾名思义,它负责调用爬虫爬取页面并将数据交给管道来处理。

调度程序。调度程序从引擎获取请求,然后将这些请求交给相应的处理者来处理。

下载器。下载器负责获取web页面,然后将它们交给引擎来处理。

爬虫。这是我们要编写的部分,爬虫负责从页面抽取要处理的数据,然后交由管道来处理。

项目管道。爬虫抽取出来的数据,就要交给管道来处理,我们可以编写自己的管道来清洗、验证和持久化数据。

下载器中间件。下载器中间件在下载器和scrapy引擎之间工作,我们可以利用下载器中间件在将页面交给爬虫之前做一些事情。scrapy内置了一些下载器中间件,这些中间件将在后面介绍。

爬虫中间件。爬虫中间件可以让我们控制爬虫的回调等等。在后面会介绍一些内置的爬虫中间件。

在这里插入图片描述
14.scrapy创建爬虫命令

打开cmd 输入 cd Desktop然后回车

输入scrapy startproject +***(以网站com之前的名字命名)+Spider

15.spider文件每句代码什么意思

_init _ :初始化的意思

items: 用于存储爬虫数据

middlewares: 用于处理爬虫签的请求和响应,例如设置headers

pipelines :管道文件,在存爬虫数据之前,会先穿过管道

settings : 全局爬虫的配置文件,一般用设置反反爬虫相关措施,数据库配置

16.scrapy运行爬虫的命令是什么

from scrapy import cmdline

cmdline.execute([‘scrapy’,‘crawl’,‘ivsky’])

17.框内的解析方法如何互相调用

18.方法间如何传值

meta = {}

19.setting中常见的配置有哪些

HTTPCACHE_ENABLED = True

HTTPCACHE_EXPIRATION_SECS = 30

HTTPCACHE_DIR = ‘httpcache’

HTTPCACHE_IGNORE_HTTP_CODES = []

HTTPCACHE_STORAGE = ‘scrapy.extensions.httpcache.FilesystemCacheStorage’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值