2022年11月

一、背景说明

1.什么是爬虫

通过编程,模拟浏览器上网,然后让其去互联网上抓取数据的过程,我在一般都是用来爬取网上的数据玩,有时候也会用爬虫来下载图片。

2.爬虫中的矛与盾

反爬机制:门户网站通过制定响应的策略或者技术手段,防止爬虫程序进行网站数据爬取
反反爬机制:破解反爬机制
robots.txt协议:规定那些数据可以爬取,哪些不能爬取。
注意:数据不能乱爬吼,要遵循,robots.txt的协议哦[狗头]。

3.爬虫的分类

通用爬虫:抓取互联网中的一整张页面数据
聚焦爬虫:在通用爬虫的基础上,抓取页面中的特定的局部内容。
增量爬虫:检测网站中数据更新情况,只会抓取网站中最新更新出来的数据

4.爬虫流程

主要用的模块为requests,主要的流程如下图所示,我们以爬取百度搜索结果的爬虫为例来解释爬虫的运作过程。
WX20221129-175743@2x.png

二、百度知道数据爬取要点

1.流程解析

将特定种子短语,输入到爬取连接中,获取返回结果,并对结果进行解析保存。举例,将百度知道返回的结果进行抓取保存。
2022-11-30 17-18-21屏幕截图.png

2.依赖库

使用pip安装
请在命令行中键入:

$ pip install baiduspider
3.BaiduSpider简介

BaiduSpider 的独特功能:
节省提取数据的时间,对于类似深度学习项目的数据模型建立与训练起到了良好的帮助。
精准提取数据,并删除广告。
搜索结果大而全,支持多种搜索类型,支持多种返回类型。

4.封锁ip解决方案

(1)定义:封锁IP——当计算机或系统受到外部攻击时,管理员可以通过屏蔽攻击源IP地址来抵御攻击。通过防火墙和路由器配置,可以封锁某个IP,禁止与其连接,从而达到抵御攻击的作用。但事实上大多数的攻击,管理员根本没有时间反应,一般在反应过来后系统已经崩溃。
(2)原因:百度网站的数据具有反爬取机制,防止第三方爬取百度数据
(3)解决方案:不停变换ip地址,这就需要ip地址池。目前有第三方ip地址厂商准门提供ip代理。收费标准大概再每月几十块钱。
(4)ip代理商:本方案采用青果网络。只需添加几行代码可解决。https://www.qg.net/


        proxy = "https://proxy.qg.net/extract?Key=73F8B4FC&Num=1&AreaId=&Isp=&DataFormat=txt&DataSeparator=%5Cr%5Cn&Detail=0"
        reponse = requests.get(proxy)
        #重试机制
        if ":" not in reponse.text:
            for i in range(3):
                print("开始重试")
                reponse = requests.get(proxy)
                print("ip:", reponse.text)
                if ":" in reponse.text:
                    break
4.代码简介

代码文件baiduzhidao.py
1.获取要爬取的关键词列表
2.将关键词提交到爬取链接中
3.将爬取链接提交到ip代理中
4.返回爬取结果,保存结果

ACL 2022 中关于如何进行主题切分的一篇文章和关于如何提高对话生成质量的两篇文章。

  1. 基于端到端分章节的新闻摘要生成
    End-to-End Segmentation-based News Summarization

论文地址:https://aclanthology.org/2022.findings-acl.46.pdf

为了更好地理解长篇新闻,该文章提出了基于分章节的新闻摘要生成任务,该任务的目的是将一篇新闻文章分成多个部分,并为每个部分生成相应的摘要。作者创建了一个新的新闻数据集 SEGNEWS,并提出了一种新颖的端到端方法,该方法可以将文章分割任务和相应摘要生成任务联合起来,通过共享的编码器相互学习。在 SEGNEWS 上的实验结果表明该模型优于最先进的 Seq2Seq 文本生成模型。

  1. 好久不见! 具有长期角色记忆的开放域对话系统
    Long Time No See! Open-Domain Conversation with Long-Term Persona Memory

论文地址:https://aclanthology.org/2022.findings-acl.207.pdf

由于缺乏理解和记忆长期对话历史信息的能力,大多数开放域的对话模型在长期的人机对话交互中表现不佳。为解决该问题,作者定义了一种新的长时记忆会话 (LeMon) 任务,并在此基础上构建了一个新的对话数据集 DuLeMon 和一个具有长时记忆机制 (LTM) 对话生成框架 PLATO-LTM,LTM 机制可以使系统准确提取并持续更新长期角色记忆,基于 DuLeMon 的研究结果表明,PLATO-LTM 在长期对话一致性方面显著优于基线。

  1. ProphetChat: 通过模拟未来的对话来增强对话生成
    ProphetChat: Enhancing Dialogue Generation with Simulation of Future Conversation

论文地址:https://aclanthology.org/2022.acl-long.68.pdf

典型的生成式对话模型利用对话历史来生成回应,然而由于应答方式多样,仅根据历史信息很难生成期望回答。在这项工作中,作者提出了一种新的对话生成框架 ProphetChat,该框架在推理阶段利用模拟的未来对话来增强生成对话的效果。基于两个开放域对话数据集的实验结果表明,ProphetChat 可以生成更好的答语,表明了模拟的未来对话信息对对话生成的有效性。