爬虫学习03

爬虫学习03

pip了lxml包之后出现错误,未解析的引用 ‘etree’
  1. 从python3.5版本后不能直接lxml.etree模块了
  2. from lxml import html
  3. 用html.etree替代老etree
from lxml import html
# etree = html.etree
e = etree.HTML(response.text) 
TypeError: init() takes 1 positional argument but 2 were given
  1. 初始是没有参数的,就如__init__或者只有一个self参数,def __init__(self): ........ ,之后使用的时候,初始auto = AutoEncoder(),如果直接把类当做对象直接调用 ,out = AutoEncodeer(input)这样的话就是给类的实例化传进来两个参数,一个是self另一个是input所以会报错,简单来说就是参数问题,初始参数和调用的时候的参数不一致。
使用pytesseract识别验证码中遇到的问题

使用pytesseract识别验证码中遇到异常如下:

pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your PATH.

检查上述报错中的pytesseract.py源码,发现如下说明:

# CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
tesseract_cmd = 'tesseract'

安装后的默认文件路径为(这里使用的是Windows版本):C:\Program Files (x86)\Tesseract-OCR\

PS:安装目录不同,只是改个安装目录即可

然后将源码中的:

tesseract_cmd = 'tesseract'

更改为:

tesseract_cmd = r'C:\Program Files (x86)\Tesseract-OCR\tesseract.exe'
存在验证码登陆的时候需要使用session保证是同一次的会话
xpath中用normalize-space()去除空格或者换行 .strip()方法去掉首尾空格
  1. 但是normalize-space()会使数据从换行处断开,并且会变成string类型之后无法使用.xpath('string(.)')拼接成为string类型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

躺平睡觉岂不美哉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值