python3爬取微信公众号文章

爬取微信公众号的文章,主要是构造url,而且要准备多个IP
import requests,re,os,random
from lxml import etree
from urllib.parse import urlencode
agents = ["Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.14 (KHTML, like Gecko) Chrome/10.0.601.0 Safari/534.14",
    "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.20 (KHTML, like Gecko) Chrome/11.0.672.2 Safari/534.20",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.27 (KHTML, like Gecko) Chrome/12.0.712.0 Safari/534.27",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.24 Safari/535.1"]
proxies=[{'http': 'http://121.43.170.207:3128'}, {'http': 'http://183.56.177.130:808'},
         {'http': 'http://121.42.167.160:3128'}, {'http': 'http://118.190.95.43:9001'}]
proxies=random.choice(proxies)
print('正在使用代理:',proxies)
headers={'User-Agent':'%s'%random.choice(agents)}
print('正在使用请求头:',headers)
def gethtml(number,index=''):
    params={
        'type': number,
        'query':index
    }
    url='https://weixin.sogou.com/weixin?'+urlencode(params)
    html=requests.get(url,headers=headers,proxies=proxies)
    html.encoding='utf-8'
    soup=etree.HTML(html.text)
    if html.status_code==200:
        print('页面请求成功')
        return soup
    else:
        print('页面无法请求')

def get_articleurl(objects):
    urls=objects.xpath('//ul/li[starts-with(@id,"sogou_vr_11002601_box")]')
    for url in urls:
        arturl=url.xpath('//h3/a/@href')
        for art in arturl:
            art=art.replace('http','https')
            print(art)
            yield art
def parse_url(url):
    html=requests.get(url,headers=headers,proxies=proxies)
    html.encoding='utf-8'
    soup=etree.HTML(html.text)
    title=soup.xpath('//*[@id="activity-name"]/text()')[0].replace(' ','')
    contents=soup.xpath("//p/span/text()")
    date=soup.xpath("//div[@id='meta_content']/em[@id='publish_time']/text()")
    print(title,contents,date)

if __name__ == '__main__':
    # for number in range(2,100):
    objects=gethtml(2,'python')
    art=get_articleurl(objects)
    for ar in art:
        parse_url(ar)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Python可以用于爬取微信公众号文章。有几种方式可以实现这一目标,其中一种方式是通过登录微信公众号平台,在里面搜索要爬取的公众号,然后进行抓包。另外一种方式是使用安卓模拟器进行抓包。还可以使用搜狗的微信模块来获取数据。 在使用第一种方式时,首先需要拥有一个微信公众号的账号。然后,通过工具如pycharm和fiddler等,登录微信公众号平台,进入创作管理,选择图文素材,然后创建或编辑文章。最后,通过添加引用和查找公众号文章等步骤,进行数据的爬取和收集。 在实现这些步骤之前,你需要了解微信公众号平台的主要功能和界面布局。主面板可以划分为七大块,每个块都有不同的功能。在后续的操作中,你可以使用Python代码来模拟微信请求,并实现数据的爬取和分析。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [欢度国庆⭐️共享爬虫之美⭐️基于 Python 实现微信公众号爬虫Python无所不能爬)](https://blog.csdn.net/xiejiachao/article/details/120573509)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [【爬虫python爬取微信公众号](https://blog.csdn.net/qq_36269293/article/details/109244944)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值