代码编织梦想

import requests

import re

from bs4 import BeautifulSoup

count=0

fp=open(r"c:/111.txt",'w',encoding='utf-8')

fp.close()

for i in range(1,6):

    u="http://search.dangdang.com/?key=python&act=input&city=132&page_index="+str(i)

    r=requests.get(url=u)

    soup=BeautifulSoup(r.text,"html.parser")

    k=soup.find_all('li',attrs={"class":re.compile(r'line\d+')})

    for n in k:

        book_name=n.find('a',attrs={"name":"itemlist-picture"}).attrs["title"] if n.find('a',attrs={"name":"itemlist-picture"}) else ''

        author=n.find('a',attrs={"name":"itemlist-author"}).attrs["title"] if n.find('a',attrs={"name":"itemlist-author"}) else ''

        nowprice=n.find('span',attrs={"class":"search_now_price"}).text if n.find('span',attrs={"class":"search_now_price"}) else ''

        price=n.find('span',attrs={"class":"search_pre_price"}).text if n.find('span',attrs={"class":"search_pre_price"}) else ''

        detail=n.find('p',attrs={"class":"detail"}).text if n.find('p',attrs={"class":"detail"}) else ''

        url=n.find('a',attrs={"name":"itemlist-title"}).attrs["href"] if n.find('a',attrs={"name":"itemlist-title"}) else ''

        print('书名:'+book_name)

        print('作者:'+author)

        print('现价:'+nowprice+'元')

        print('原价:'+price+'元')

        print('书籍介绍:'+detail)

        print('链接:'+url+'\n')

        count=count+1

        with open(r"c:/111.txt",'a+',encoding='utf-8') as fp:

            fp.write('书名:'+book_name+'\n')

            fp.write('作者:'+author+'\n')

            fp.write('现价:'+nowprice+'\n')

            fp.write('原价:'+price+'\n')

            fp.write('书籍介绍:'+detail+'\n')

            fp.write('链接:'+url+'\n'+'\n')

print("总计:",count,"本")   

import socket

send_sk=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

while True:

    s=input("请输入一段字符串:")

    send_sk.sendto(s.encode(),("192.168.175.92",50008))

    data,addr=send_sk.recvfrom(1024)

    recv_s=data.decode()

    print("收到来自%s(端口为%d)的消息%s"%(addr[0],addr[1],recv_s))

    if s.lower()=="bye":

        break

    data,addr=send_sk.recvfrom(1024)

    recv_s=data.decode()

    print("收到来自%s(端口为%d)的消息:%s"%(addr[0],addr[1],recv_s))

send_sk.close()  

接收端

import socket

import string

def kaisa(recv_s):

    old=string.ascii_lowercase+string.ascii_uppercase+string.digits

    lower=string.ascii_lowercase[2:]+string.ascii_lowercase[:2]

    upper=string.ascii_uppercase[2:]+string.ascii_uppercase[:2]

    digits=string.digits[2:]+string.digits[:2]

    new=lower+upper+digits

    kaisa_table=''.maketrans(old,new)

    recv_s=recv_s.translate(kaisa_table)

    return recv_s

receiver_sk=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

receiver_sk.bind(("",50008))

while True:

    data,addr=receiver_sk.recvfrom(1024)

    receiver_sk.sendto("消息已送达".encode(),addr)

    recv_s=data.decode()

    if recv_s.lower()=="bye":

        break

    print("收到来自%s(端口号为%d)的消息:%s"%(addr[0],addr[1],recv_s))

    recv_s=kaisa(recv_s)

    receiver_sk.sendto(recv_s.encode(),addr)

receiver_sk.close()

def prime(prime_n,prime_x=10):

    count=0

    for i in range(2,prime_n+1):

        for j in range(2,i):

            if i%j==0:

                break

        else:

            count=count+1

            if count%prime_x==0:

                print(i)

            else:

                print(i,end=" ")

print("\n")

while True:

    n=int(input("请输入一个正整数n:"))

    if n>0:

        break

x=int(input("请输入一个整数x:"))

if x>0:

    prime(n,x)

else:

    prime(n)

def func(old):

    alist=[]

    for i in old:

        j=ord(i)*13%128

        if j<=32 or j%2==0:

            alist.append(i)

        else :

            alist.append(chr(j))

    return ''.join(alist)     

old=input("请输入一行字符串:")

new=func(old)

print("加密前的字符串:",old)

print("加密后的字符串:",new)

with open(r"d:\output2","w") as fp:

    print("加密前的字符串:",old,file=fp)

print("加密后的字符串:",new,file=fp)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_66495706/article/details/127157708

音乐制作软件英文精简版-Nuendo 5 v5.1.1 WiN-爱代码爱编程

Nuendo 5 v5.1.1 英文精简版 | 100M Nuendo 5是一款德国Steinberg公司推出的专业的音频制作软件,主要用于专业音乐制作、多媒体制作、音频编辑和VST开发处理技术,可帮助用户完成音乐处理与音乐创作的需求。 Steinberg 发布新的 Nuendo 5 维护性更新 Nuendo 5.1.1。这个更新

C语言笔记(精简版)-爱代码爱编程

第一章 C语言的组成 1.标识符(三类): (1)保留字(关键字):字母,小写 (2)预定义标识符:库函数 (3)用户自定义标识符:①场合:变量名,数组名,函数名 ②规则:字母数字下划线,必须以字母和下划线开始 2.数据类型(定义内存空间大小 ): (1)基本类型:整型int、实型float、double、字符型char (2)构造类型“:数组、struc

java jre精简_转载 jre精简-爱代码爱编程

前不久给朋友做了一个桌面程序,程序文件没多大,但运行java程序需要jre,但jre足足有80M多,然后在网上搜了如何给给JRE瘦身或精简JRE,整理如下: 打开JRE安装目录.目录包括bin,lib二个文件夹,所以就是将这两个文件进行瘦身了, 1. bin: 可以认为这是Java虚拟机. 2. lib: 执行class文件时,Java虚拟机需要

Android 11 存储适配 精简版-爱代码爱编程

看到网上很多适配安卓11的文章,觉得都说的太过复杂,所以简略的列出几点安卓11 版本的存储变化 1.和其他的版本一样,这两个目录是app的私有目录,读写无需权限 /data/data/package /sdcard/Android/data/package   2.读取/创建/删除 外部存储的多媒体目录,例如图片,视频,音频,下载文件,文档 等。

网众无盘服务器 快车挂盘失败 显示 当前磁盘已经为超级工作站模式,快吧无盘精简版结合网众...-爱代码爱编程

《快吧无盘精简版结合网众》由会员分享,可在线阅读,更多相关《快吧无盘精简版结合网众(15页珍藏版)》请在人人文库网上搜索。 1、快吧无盘三层+菜单结合网众施工方案前言:与网吧技术沟通。网众的网吧一般都有备用的服务器,可以先让客户机都用备用的服务器带,这样对另外一台服务器更改不会影响到客户机。还有是否重拷游戏,这些都要事前沟通清楚。一定不要先动带有加密

不足40m的wps极限精简版,便携性拉满,老电脑福音_wps精简版-爱代码爱编程

前言 微软的Office三件套可以说是日常办公的必备工具了,但其强制安装在C盘的特性以及不小的内存空间占用让很多用户困扰 ωps相较于office来说功能一丝不少,内存占用却仅为office的十分之一,对国内用户还是比较