微信公众号、微信号、微信文章爬虫(搜狗搜索)

微信公众号、微信号、微信文章爬虫(搜狗搜索)

微信上面的东西真的不好爬,幸好我找到了一个神器!!!在这里插入图片描述
这个能不能弄点东西出来呢?
在这里插入图片描述
这个链接还挺整齐的
在这里插入图片描述
嗯哼~~~~~~我似乎发现了什么
在这里插入图片描述
直接上代码啦

import requests
import re
import openpyxl

def oh_my_god(search="帅哥"):
    url = "https://weixin.sogou.com/weixin?query="
    headers = {'User-Agent': ''}
    #这里需要自己填入了

    with open("alldata.txt","w+") as file:
        for page in range(1,20):
            target_url = url+search+"&page="+str(page)
            data = requests.get(target_url,headers=headers)
            file.write(data.content.decode("utf-8"))

    def find_all(sub,s):
        index_list = []
        index = s.find(sub)
        while index != -1:
            index_list.append(index)
            index = s.find(sub,index+1)
        if len(index_list) > 0:
            return index_list
        else:
            return -1

    txt_data = open("alldata.txt").read()
    begin_place = find_all("<p class=\"tit\">",txt_data)

    final_data = []
    for i in range(len(begin_place)-1):
        final_data.append(txt_data[begin_place[i]:begin_place[i+1]])

    gzh = []#公众号
    wx = []#微信
    gnjs = []#功能介绍
    ewm = []#二维码链接
    for i in range(len(final_data)):
        wx.append(final_data[i][final_data[i].find("微信号:<label name=")+31:final_data[i].find("</label>")])
        gzh.append(''.join(re.findall(u'[\u4e00-\u9fa5]',final_data[i][:final_data[i].find("微信号")])))
        gnjs.append(''.join(re.findall(u'[\u4e00-\u9fa5]',final_data[i][final_data[i].find("功能介绍")+5:final_data[i].find("最近文章")])))
        ewm.append(final_data[i][final_data[i].find("微信扫一扫关注")+47:final_data[i].find("data-id")-2])

    mywb = openpyxl.Workbook()
    mysheet = mywb.get_sheet_by_name('Sheet')
    mysheet['A1'] = '公众号'
    mysheet['B1'] = '微信'
    mysheet['C1'] = '功能介绍'
    mysheet['D1'] = '二维码链接'
    for i in range(len(gzh)):
        mysheet['A'+str(i+2)] = gzh[i]
        mysheet['B'+str(i+2)] = wx[i]
        mysheet['C'+str(i+2)] = gnjs[i]
        mysheet['D'+str(i+2)] = ewm[i]

    mywb.save('data.xlsx')

if __name__ == '__main__':
    s = input('输入关键字')
    oh_my_god(search=s)
做自媒体,没有文章素材? 撸各种福利活动,没有最新线报? 想看复仇者联盟4等最新电影,没有资源? 想搜索任意网络资源,没有工具? 微信公众号文章搜索助手,通过关键词一键搜索微信全部公众文章,并可采集指定公众所有历史群发文章,不管你是做自媒体找各种文章素材,还是做活动找各种线报福利,还是找各种影视资源等等,它都能满足你,想什么有什么,功能非常非常非常强大,废话不多说,先看具体介绍! 【功能介绍】 1.通过关键词搜索微信所有公众文章,支持按指定时间段搜索相关内容,并支持文章内容导出word、pdf及excle格式; 2.一键采集指定公众所有历史文章,并支持文章内容批量导出word和pdf格式(文章原排版,文字+图片); 3.可对关键词搜索相关文章内容进行按发布时间、标题及公众排序,支持标题去重复,搜索结果二次搜索; 4.关键词搜索文章支持通过公众和关键词进行拉黑,不想看的内容一律过滤,支持拖拽选择,一键拉黑; 5.内置自动验证码打码,和IP自动切换功能,解放双手,操作更便捷; 6.文章内容页支持关键词搜索,快速查找是否是自己需要的文章; 7.保存搜索关键词历史,搜索以及搜索过得关键词,直接从搜索历史拉取关键词,输入更方便; 8.内置大量快捷键,查阅文章搜索内容更加方便人性化; 9.很多功能,等你下载体验;
爬虫是一种自动抓取网页数据的程序,可以用于获取微信公众号的内容信息。下面是一个简单的Python爬虫示例,使用了`requests`库来发送HTTP请求并解析HTML内容,以及使用了`BeautifulSoup`库来进行HTML内容的解析: ```python import requests from bs4 import BeautifulSoup def get_wechat_article(url): # 发送GET请求到指定URL获取文章页面 response = requests.get(url) # 检查请求是否成功 if response.status_code == 200: soup = BeautifulSoup(response.text, 'html.parser') # 解析文章标题、作者、发布日期等信息 title = soup.find('title').text.strip() author = soup.find(id="js_content").find_previous("h2", class_="rich_media_title").text.strip() date = soup.find(id="js_content").find_next_sibling("span").text.strip() # 解析文章内容 article_text = "" for paragraph in soup.find_all("p"): article_text += paragraph.text.strip() + "\n\n" return {'title': title, 'author': author, 'date': date, 'content': article_text} else: print(f"Request failed with status code {response.status_code}") return None # 使用示例 url = "https://mp.weixin.qq.com/s/YsJZxXjwO7oBzRyvLk986A" # 微信公众号文章链接 article_info = get_wechat_article(url) if article_info is not None: print(f"Title: {article_info['title']}\nAuthor: {article_info['author']}\nDate: {article_info['date']}") print("\nContent:\n") print(article_info['content']) else: print("Failed to fetch the article.") ``` 请注意,这个示例仅作为一个基础框架,并可能存在一定的局限性和失效情况,尤其是当网站结构发生变化时。实际应用中,需要考虑到更多的边界条件和异常处理。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值