Homework06

import requests
import re
import multiprocessing

def PUT(q):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36'
    }
    url = 'https://www.baidu.com/s?wd=%E7%95%99%E4%B8%8B%E9%82%AE%E7%AE%B1'
    response = requests.get(url,headers=headers)
    html = response.text
    #print(html)
    res = re.compile('href="(.*?)"')
    resx = res.findall(html)
    http_list = []
    for http in resx:
        if "http" in http:
            http_list.append(http)
    for url_ in http_list:
        #print(url_)
        q.put(url_)

def GET(q):
    while True:
        url_ = q.get()
        #print(url_)
        headers = {
            'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36'
        }
        responses = requests.get(url_, headers=headers)
        htmls = responses.text
        #print(htmls)   #正常
        e = re.compile("[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?")
        email = e.findall(htmls)
        #print(email)    
        b = 0
        #li = ['baidu.com','163.com','qq.com','162.com','sina.com','139.com','123.com','nen.com']
        if len(email) != 0:
            for i in email:
                if '@baidu.com' in i or '@163.com' in i or '@qq.com' in i or '@162.com' in i or '@sina.com' in i or '@139.com' in i or '@123.com' in i or '@139.com' in i or '@nen.com' in i :
                    b += 1
                    print(i)
                    if b<5000:
                        with open('E:/python/Homework05/novel/email.txt',mode='a',encoding='utf8') as f: 
                            f.write(i+'\n')
                    else:
                        break  

if __name__ == "__main__":
        q = multiprocessing.Queue()
        p = multiprocessing.Process(target = PUT,args = (q,))
        p1 = multiprocessing.Process(target = GET,args = (q,))
        p.start()
        p1.start()
        p.join()
        p1.join()

运行结果
在这里插入图片描述

在这里插入图片描述

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
优化算法作业主要是指在给定的问题背景下,通过设计和实现合适的算法来提高求解问题的效率和准确性。在解决优化问题时,可以通过以下几个步骤来完成作业。 首先,需要明确问题的目标是什么。例如,是要寻找最小值或最大值,或者是要满足一定的约束条件。了解问题的目标有助于我们选择合适的算法。 其次,根据问题的特点选择合适的优化算法。常见的优化算法包括贪心算法、动态规划、遗传算法、模拟退火算法等。不同的问题可能适合不同的算法,例如贪心算法适用于某些问题的局部优化,而动态规划适用于某些问题的全局优化。 然后,需要对选定的算法进行进一步的分析和改进。对算法进行分析可以评估算法的时间复杂度和空间复杂度,了解算法的优势和劣势。如果已有的算法不够优化,可以针对问题特点进行改进,例如引入剪枝策略、优化循环结构等。 最后,根据优化算法的设计和改进,实现相应的代码,并进行实验验证。通过实验可以验证算法的正确性和效率,并对实验结果进行分析和总结。如果有必要,可以对算法进行调优,进一步提高算法的性能。 总之,优化算法作业需要我们根据问题的特点选择合适的算法,并进行进一步的分析和改进,最终通过实验验证算法的效果。通过对问题的细致思考和创新性设计,可以提高优化算法的效率和准确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值