NVP连接VP示例
该指令用于VP和NVP之间断开连接,VP和NVP都可以使用该指令动态删除节点。
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
# 初始阶段,nvp没有连接任何vp
>>> nvp status global
this nvp connects no vp
# 正确使用add命令,连接node1,此时不代表新增node1成功
>>> nvp add global node1 127.0.0.1:50011
success
# 使用状态查询,发现成功连接vp节点
>>> nvp status global
{hostname: node1, nvp_status: IDLE, height: 0}
nvp remove
>>>>>>>>>>>>>>
该指令用于VP和NVP之间断开连接,VP和NVP都可以使用该指令动态删除节点。
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
VP删除NVP示例
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
# vp节点查询状态,显示和多个nvp节点连接
>>> nvp status global
{hostname: nvp1, vp_status: IDLE, nvp_status: NORMAL, height: 0, msg: NULL}
{hostname: nvp2, vp_status: IDLE, nvp_status: NORMAL, height: 0, msg: NULL}
# 删除其中一个NVP节点
>>> nvp remove global nvp1
remove [nvp1] success
# 删除成功,查询状态
>>> nvp status global
{hostname: nvp2, vp_status: IDLE, nvp_status: NORMAL, height: 0, msg: NULL}
# 删除第二个NVP节点
>>> nvp remove global nvp2
remove [nvp2] success
# 删除成功,查询状态
>>> nvp status global
this vp connects no nvp
remove [hostname] success: 这意味着成功通知到对方,双方都会执行上述删除流程;
inform [hostname] to delete failed, maybe need manual operation: 这意味着由于网络或其他节点异常问题,导致未能成功通知到对端进行删除,在这种情况下,本地仍然会执行上述删除流程, 可能带来的影响是 对端的配置文件或内存中仍然保留本节点的信息,因此仍然会尝试进行连接,但由于本节点已经进行了证书吊销,连接不会建立成功, 解决方法是在对端重新执行删除命令 。
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
爬虫实战
本节课我们将以爬取豆瓣电影top250为例讲解爬虫的具体实现
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
本节课我们将以爬取豆瓣电影top250为例讲解爬虫的具体实现
import requests
import codecs
from bs4 import BeautifulSoup
URL="http://movie.douban.com/top250" #要爬取的地址
HEADERS = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36'
}#user-agent,模仿浏览器,防止被目标网站反爬
def download_page(url):#下载页面
data = requests.get(url,headers=HEADERS).content #请求页面,获取要爬取的页面内容
return data
def parse_html(html):
soup= BeautifulSoup(html)#使用bs解析获取的页面,测试是可以使用print soup.pretiffy()打印查看获得的页面
if next_page:
return movie_name_list,URL+next_page['href'] #拼接下一页的url,继续爬取下一页
codecs.open('movies','wb',encoding='utf-8') as fp: #打开文件,使用utf-8编码
while url:
html = download_page(url) #获取页面
movies,url=parse_html(html) #分析页面获取信息
fp.write(u'{movies}\n'.format(movies='\n'.join(movies))) #将获得的信息写入文件
if __name__=='__main__':
main()
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
模拟登录
爬取很多目标网站的页面信息时都有登录的要求,本节将讲解如何使用程序进行表单提交进而完成用户登录。
一般的模拟登录流程如下:
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
爬取很多目标网站的页面信息时都有登录的要求,本节将讲解如何使用程序进行表单提交进而完成用户登录。
一般的模拟登录流程如下:
1. 查看需要提交的表单信息
通过页面及chrome工具查看request中的request payload即可确认登录时需要提交的数据有哪些。再此提醒注意,不要认为页面上填写的用户名和密码以及验证码就是请求的全部参数,很多网站会自动添加其他参数(如时间戳,版本信息,网站附加字符等),所以要认真检查request的过程提交参数有哪些。
2. 组织表单数据
确定了要提交的数据后就需要组织数据,组织数据时一般包括组装用户名,密码,获取相关参数,进行参数加密(一般会对密码进行加密,需要研究网站加密算法)等。
3. 数据提交,结果判断
提交通过requests.post方法完成,提交后获得返回数据,通过http返回的状态进行判断,当response.status==200时证明提交成功。
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
模拟登录
本节课将以登陆知乎为例介绍模拟登录的具体方法和实现。
首先研究知乎的登录页面,确定要提交的表单信息。进入知乎登录页面后可以看到页面需要输入用户名,密码和验证码,输入相关信息后点击提交,使用chrome查看相关信息可以看到真正提交的数据除了上述三个还有xsrf,该变量可以在查看网页源代码中查到,只需要提取出具体的值即可。
首先看如何获取xsrf变量的值
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
本节课将以登陆知乎为例介绍模拟登录的具体方法和实现。
首先研究知乎的登录页面,确定要提交的表单信息。进入知乎登录页面后可以看到页面需要输入用户名,密码和验证码,输入相关信息后点击提交,使用chrome查看相关信息可以看到真正提交的数据除了上述三个还有xsrf,该变量可以在查看网页源代码中查到,只需要提取出具体的值即可。
首先看如何获取xsrf变量的值
def search_xsrf():
url= " http://www.zhihu.com " #登录页面地址
r=requests.get(url)#获取页面
if int(r.status_code)!=200:
raise NetworkError(u" requestcaptcha network error")
results=re.compile(r"\<input\stype=\"hidden\"\sname=\"_xsrf\"\svalue=\"(\S+)\"",re.DOTALL).findall(r.text)
#使用正则表达式提取xsrf的值
if len(results)<1:
print(u"can not get XSRF")
return None
return results[0]#返回xsrf的值,供后续使用
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544