缺点:该方法只能爬取有限的数量,因为没有使用代理,当爬取一定数量时会出现验证码

import requests
from bs4 import BeautifulSoup
from fake_useragent import UserAgent
import queue
from urllib.parse import urlencode
import re# 构建请求头
ua = UserAgent()
headers = {'user-agent': ua.Chrome,'cookie': '自己设置'
}# 声明一个列表,存储字典
data_list = []def get_index(q):url = q.get()# 请求urlresp = requests.get(url, headers=headers)# 将爬取回来的数据转成bs4格式soup = BeautifulSoup(resp.content, 'lxml')# 分析网页结果,抓取ul标签下面的所以li标签lis = soup.select('.news-list li')# 遍历li标签,爬取所需要的数据for li in lis:# 微信文章题目,select返回的是一个列表# 使用stripped_strings进行提取题目(stripped_strings可以去除空白字符)# stripped_strings返回的是一个迭代器,所以使用list转换成列表title = li.select('h3')[0]title = ''.join(list(title.stripped_strings))# 作者author = li.select('.s-p a')[0].string# 文章摘要text = li.select('.txt-info')[0]text = ''.join(list(text.stripped_strings))# 时间戳,抓到的数据是这样的document.write(timeConvert('1526012173'))datetime = li.select('.s2 script')[0].string# 使用正则表达式提取时间戳datetime = re.findall(r'\d+', datetime)[0]# 文章链接,这里获取的是a标签中的data-share属性而不是a标签的href属性# 因为href属性打开跳转的不是该文章href = li.select('h3 a')[0].get('data-share')# 声明一个字典存储数据data_dict = {}data_dict['title'] = titledata_dict['author'] = authordata_dict['text'] = textdata_dict['datetime'] = datetimedata_dict['href'] = hrefprint(data_dict)data_list.append(data_dict)def main():# 声明队列,将url放入队列q = queue.Queue()# 爬取10页for page in range(1, 10):# 构造url参数data = {'query': 'python爬虫','type': '2','page': page}# 使用urlencode对参数进行url编码后拼接urlurl = 'https://weixin.sogou.com/weixin?' + urlencode(data)q.put(url)# 如果队列不为空则继续爬取while not q.empty():get_index(q)if __name__ == '__main__':main()print(data_list)

python爬虫——使用bs4爬取搜狗微信文章相关推荐

  1. python爬虫——使用xpath爬取搜狗微信文章

    缺点:爬取一定数量之后会出现验证码,导致不能继续爬取,需要更换ip才可以继续爬取,或者在浏览器重新输入验证码之后复制cookie后方能继续爬取. import requests from fake_u ...

  2. python爬虫 requests+bs4爬取猫眼电影 傻瓜版教程

    python爬虫 requests+bs4爬取猫眼电影 傻瓜版教程 前言 一丶整体思路 二丶遇到的问题 三丶分析URL 四丶解析页面 五丶写入文件 六丶完整代码 七丶最后 前言 大家好我是墨绿 头顶总 ...

  3. 爬取搜狗微信文章笔记1

    爬取搜狗微信文章笔记1 错误1 ```pythonprint('https://weixin.sogou.com'+index) TypeError: can only concatenate str ...

  4. python爬虫——selenium+bs4爬取选股宝‘利好‘or’利空'股票信息

    一.前言. (1)我个人比较喜欢先看结果,再看内容,so,结果如图: (2)信息抓取自选股宝https://xuangubao.cn/(我这里设定抓取加载20页,下面只列举几个): (3)本次主要应用 ...

  5. Python爬虫实战 | (9) 爬取搜狗图片

    本篇博客我们将爬取百度图片,输入搜索词,爬取与搜索词相关的图片. 首先打开搜狗图片https://pic.sogou.com/,比如搜索"猫",此时的URL如下: https:// ...

  6. python爬虫——使用bs4爬取链家网的房源信息

    1. 先看效果 2. 进入链家网,这里我选择的是海口市点击跳转到链家网 3. 先看网页的结构,这些房子的信息都在li标签,而li标签再ul标签,所以怎么做大家都懂 4. 代码如下,url的链接大家可以 ...

  7. python爬虫实战-bs4爬取2345电影

    抓取的原理也比较简单,不过多解释了,代码注释的也比较清楚 参考: Python网络爬虫实战(第二版) # -*- coding: utf-8 -*- """ Create ...

  8. Python爬虫系列之爬取微信公众号新闻数据

    Python爬虫系列之爬取微信公众号新闻数据 小程序爬虫接单.app爬虫接单.网页爬虫接单.接口定制.网站开发.小程序开发 > 点击这里联系我们 < 微信请扫描下方二维码 代码仅供学习交流 ...

  9. 九 web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解...

    封装模块 #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib from urllib import request import j ...

  10. Python爬虫系列之爬取某社区团微信小程序店铺商品数据

    Python爬虫系列之爬取某社区团微信小程序店铺商品数据 如有问题QQ请> 点击这里联系我们 < 微信请扫描下方二维码 代码仅供学习交流,请勿用于非法用途 数据库仅用于去重使用,数据主要存 ...

最新文章

  1. SQLServer 系统表
  2. 依赖注入及AOP简述(一)——“依赖”的概念 .
  3. SAP S4 HANA-The future is here?
  4. keep alive PHP,vue中keep-alive使用方法详解
  5. OpenCV显示图片的实例(附完整代码)
  6. SAP CRM responsibility的维护
  7. 有没有可以搜PHP作业的软件,有没有可以搜计算机题库的软件?
  8. L - Lookup Performance(主席树)
  9. Spring boot 2.4开启静态资源缓存
  10. learn python the hard way 习题6~10总结
  11. ajax中xmlhttp.readyState==4 xmlhttp.status==200 是什么意思
  12. Expandable实现方法
  13. 大学,不是学习的终点,而是起点。
  14. php 联合查询,多表联合查询
  15. 【python爬虫】easyocr识别gif图片文字
  16. 计算机游戏中屏幕上显示的,计算机显示器选择弧形屏幕还是直接屏幕?主游戏...
  17. 票据撮合区块链系统开发-去中心化的新型票据交易展现形式的系统
  18. STM32F411RE项目开发-3-定时器的使用
  19. input onchange事件
  20. DingTalk钉钉消息通知

热门文章

  1. Abaqus设置初始地应力场
  2. vs2010开发activex(MFC)控件/ie插件(二)
  3. dorado7.x控制显示隐藏
  4. 华为HG8245光纤猫获得超级用户密码
  5. SSO单点登录系统的设计与实现
  6. Shiro集成Cas单点登录
  7. 使用超级鹰模拟登录验证码报错的解决办法
  8. 使用bootstrap打造卡片个人简历
  9. 实现Http Server的三种方法
  10. java 国际化 i18n