用python爬取微信公众号内容存到txt【1】非多线程版本

因为微信公众号可以在搜狗里面搜索到,所以我们就用搜狗微信搜里面进行爬取。

先看我们需要的库

import requests
import time
from bs4 import BeautifulSoup
然后我们需要header头所以。要给他一个。怎么获取呢,网上很多。

head = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4882.400 QQBrowser/9.7.13039.400', 
    'Connection': 'keep-alive'}

我们在搜狗微信搜索一下。我是互联网你们自己随意。


按f12锁定。然后找到他的位置。找到div class=txt-box这一项。

然后在找到a 里面的href 就可以得到这个链接的网址。

标题名  .text就可以获取。

但是通过requests.get获取到的链接是。不正确的,实战之后就会发现。和点进去之后的真实地址,

其中多了很多amp;这样的字符。

我们通过.replace()的函数来进行处理。这样就是真实的地址了。

通过open函数write函数,把我们的字符串写进去就可以了。

下面是我们的代码:


import requests
import time
from bs4 import BeautifulSoup
head = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4882.400 QQBrowser/9.7.13039.400', 
    'Connection': 'keep-alive'}
key='互联网'
pagecode='&page='
for page in range(1,10):
    fh=open("微信第{}页.txt".format(page),"w")
    try:
        print("正在输入第{}页".format(page))
        urls = "http://weixin.sogou.com/weixin?type=2&query="+str(key)+str(pagecode)+str(page)
        aaa=requests.get(url = urls,headers=head).text
        data = BeautifulSoup(aaa,"lxml")
        sp=data.find_all("div",{'class':'txt-box'})
        for data1 in sp:
            neirong=data1.find_all("a")[0]
            wzhi1=neirong.get('href')
            wzhi1=wzhi1.replace("amp;",'')
            net1=data1.find_all("a")[0].text
            data3=net1+'\n'+wzhi1+'\n\n\n\n'
            fh.write(data3)
        print("第{}页输入成功".format(page))
    except:
        print("第{}页输入失败,再来一次。".format(page))
        page=page-1
    time.sleep(4)
    fh.close
然后就是我们的结果了。 其中要是有什么问题,比如如何找到这个链接的位置,可以留言评论。我解释的比较少,可以问,一起学习,我也在学习。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值