1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 搞个好玩的东西 爬虫爬取网络流行语录 并通过python自动发送给qq好友 实现有技术的

搞个好玩的东西 爬虫爬取网络流行语录 并通过python自动发送给qq好友 实现有技术的

时间:2019-12-14 11:49:51

相关推荐

搞个好玩的东西 爬虫爬取网络流行语录 并通过python自动发送给qq好友 实现有技术的

首先我们需要爬虫的模块函数and python的win32库。

这里我们以郭老师语录为例

import win32guiimport win32conimport win32clipboard as w#抓取数据import requestsimport timeimport randomfrom bs4 import BeautifulSoup

上面三个是用来操纵qq窗口的,下面三个是用来爬取数据的。

我们首先爬取数据。

百度郭老师语录,这里我建议朋友们在爬取简单数据的时候分为两个函数模块写,分别是het_html和get_data,这样哪里出bug会很清楚。

代码:

def get_be(url,data=None):#抓取htmlheader={'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9','Accept-Encoding': 'gzip, deflate','Accept-Language': 'zh-CN,zh;q=0.9','Connection': 'keep-alive','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'}time=random.choice(range(80,100))#防止被检测到为爬虫rep=requests.get(url,headers=header,timeout=time)rep.encoding="utf-8"return rep.text def get_data(htmltext):a_list=[]bs=BeautifulSoup(htmltext,"html.parser")#python的内置标准库body=bs.bodydata = body.find('div', {'class':'icontent'})p=data.find_all('p')for line in p:a_list.append(line.string)return a_list

这两个函数,我们只需要给他一个主函数就可以获取我们呢需要的信息,这里的参数都是在查找的页面找到的,如下:

在这里我获取了头部信息

在这里我获得了源码位置

之后我们只需要给它一个url也就是网址便可获得数据

url='/keji/internet/2258547.html'html=get_be(url)c_list=[]b_list=get_data(html)for i in b_list:if i==None :continueb=list(i)while '\u3000' in b :b.remove('\u3000')if '\u3000' not in b :c_list.append(''.join(b))#得到c_list

数据额已经获取,接下来我们对腾讯qq进行操作,这里是对窗口操作,对qq来说,相当于我们用键盘鼠标,只是手速很快而已,所以QQ无法识别其实是python操作,话说很多的浏览器都有反爬的功能,我寻思QQ可能也有,因此这个方法可以完美伪装咱们

代码:

name ="全员反恐519"for i in c_list:w.OpenClipboard()w.EmptyClipboard()w.SetClipboardData(win32con.CF_UNICODETEXT, i)w.CloseClipboard()handle = win32gui.FindWindow(None, name)win32gui.SendMessage(handle, 770, 0, 0)win32gui.SendMessage(handle, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)

这个name就是我们给要发的好友的备注,不管是好友还是群,操作方法都是一样的。这里总体还是对win32的应用,因为这不是一篇主讲解的博客,所以博主也懒得说。它总体过程其实就是将字符串复制到剪切板中,获取窗口信息,之后按回车发送,因为是机器操控,所以理论上只要你的电脑性能够好,网速够快,一瞬间就可以发送无数条消息,堪称夺取龙王利器,有些朋友可能回想:那腾讯qq反应的过来吗?,😂这里我要说,想多了朋友,腾讯服务区稳定性可是网络一条GAI最靓的崽,每一刻那么多人同时再用这些东西,您见过qq崩溃吗?见过微信崩溃吗?所以没必要担心这些的,要是有一天腾讯的服务器敢崩,他们一天估计就亏得只剩裤衩了。

全部代码就是

import win32guiimport win32conimport win32clipboard as w#抓取数据import requestsimport timeimport randomfrom bs4 import BeautifulSoupdef get_be(url,data=None):#抓取htmlheader={'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9','Accept-Encoding': 'gzip, deflate','Accept-Language': 'zh-CN,zh;q=0.9','Connection': 'keep-alive','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'}time=random.choice(range(80,100))#防止被检测到为爬虫rep=requests.get(url,headers=header,timeout=time)rep.encoding="utf-8"return rep.text def get_data(htmltext):a_list=[]bs=BeautifulSoup(htmltext,"html.parser")#python的内置标准库body=bs.bodydata = body.find('div', {'class':'icontent'})p=data.find_all('p')for line in p:a_list.append(line.string)return a_listurl='/keji/internet/2258547.html'html=get_be(url)c_list=[]b_list=get_data(html)for i in b_list:if i==None :continueb=list(i)while '\u3000' in b :b.remove('\u3000')if '\u3000' not in b :c_list.append(''.join(b))#得到c_list#发送的消息#窗口名字print(c_list)name ="全员反恐519"for i in c_list:w.OpenClipboard()w.EmptyClipboard()w.SetClipboardData(win32con.CF_UNICODETEXT, i)w.CloseClipboard()handle = win32gui.FindWindow(None, name)win32gui.SendMessage(handle, 770, 0, 0)win32gui.SendMessage(handle, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)

哦了,爬虫还是很有意思的,朋友们可以自己去试试玩玩,这东西,也没有那么容易进监狱的,那些内部数据不是咱随便就能爬虫出来的,明面上的数据也不犯法,就随便玩,不用担心的。😂

嘿嘿嘿,感谢支持。

搞个好玩的东西 爬虫爬取网络流行语录 并通过python自动发送给qq好友 实现有技术的刷屏哈哈。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。