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

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. Eclipse中将项目中build path底下的jar发布到tomcat下
  2. Java不同压缩算法的性能比较
  3. 第一个c++泛型函数(即模板)
  4. DIV固定宽度和动态拉伸混合水平排列
  5. [react] 为何说虚拟DOM会提高性能?
  6. 三、处理机调度与死锁
  7. 用Markdown写博客快速入门
  8. ddr4服务器内存和普通内存_买主板送DDR4内存!微星日联合大促开幕
  9. spark java foreach_Spark Java使用DataFrame的foreach/foreachPartition
  10. 华为python面试题库_我收集了100道Python面试题,开源到了Github
  11. Kubesploit:针对容器化环境的跨平台后渗透利用工具
  12. 如何配置Modbus读写器
  13. 程序员自我介绍如何出彩?面试「万能模板」快拿走!
  14. iOS Framework Shell打包
  15. 如果你想专升本那就一定要看的专升本语文_文学常识完整版(四)
  16. Unity (NavMeshAgent 导航系统)
  17. 微信公众号授权,支付,退款总结【shoucang】
  18. IT行业主要职业有什么?
  19. 小米手机开发者选项打开usb安装需要SIM卡解决办法
  20. iuap助力中建五局打造数字化创新集成平台

热门文章

  1. 计算机Excel设置透视图,excel共享表格数据-EXCEL在共享模式中,如何让数据透视表能够自动刷新?...
  2. 模拟滑动窗口协议算法C语言,滑动窗口协议模拟程序.docx
  3. 生物信息学在疾病基础研究中的应用
  4. python界面设计实例qt_Python GUI教程(六):使用Qt设计师进行窗口布局
  5. html5经纬度定位 源码_HTML5地理位置定位获取经纬度
  6. 如何获取html的页面宽度和高度,js获取屏幕,浏览器及网页的宽度和高度
  7. 2018北航计算机考研复试经验
  8. 北京航天大学考研计算机科学与技术分数线,北京航空航天大学计算机科学与技术考研...
  9. 达梦数据库导出、导入操作
  10. 通过第三方平台超级鹰进行登录页面验证码识别