全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

python3之微信文章爬虫实例讲解

前提:

python3.4

windows

作用:通过搜狗的微信搜索接口http://weixin.sogou.com/来搜索相关微信文章,并将标题及相关链接导入Excel表格中

说明:需xlsxwriter模块,另程序编写时间为2017/7/11,以免之后程序无法使用可能是网站做过相关改变,程序较为简单,除去注释40多行。

正题:

思路:打开初始Url --> 正则获取标题及链接 --> 改变page循环第二步 --> 将得到的标题及链接导入Excel

爬虫的第一步都是先手工操作一遍(闲话)

进入上面提到的网址,如输入:“图片识别”,搜索,网址变为“http://weixin.sogou.com/weixin?type=2&query=%E5%9B%BE%E7%89%87%E8%AF%86%E5%88%AB&ie=utf8&s_from=input&_sug_=n&_sug_type_=1&w=01015002&oq=&ri=4&sourceid=sugg&sut=0&sst0=1499778531195&lkt=0%2C0%2C0&p=40040108”标红为重要参数,type=1时是搜索公众号,暂且不管,query=‘搜索关键词',关键词已经被编码,还有一个隐藏参数page=1

当你跳到第二页时可以看到“http://weixin.sogou.com/weixin?oq=&query=%E5%9B%BE%E7%89%87%E8%AF%86%E5%88%AB&_sug_type_=1&sut=0&lkt=0%2C0%2C0&s_from=input&ri=4&_sug_=n&type=2&sst0=1499778531195&page=2&ie=utf8&p=40040108&dp=1&w=01015002&dr=1”

好了,url可以得到了

url = 'http://weixin.sogou.com/weixin?type=2&query='+search+'&page='+str(page)

search是要搜索的关键词,用quote()编码即可插入

search = urllib.request.quote(search)

page是用来循环的

for page in range(1,pagenum+1):
 url = 'http://weixin.sogou.com/weixin?type=2&query='+search+'&page='+str(page)

完整的url已经得到了,接下来访问url,获得其中的数据(创建opener对象,添加header())

import urllib.request
 header = ('User-Agent','Mozilla/5.0')
 opener = urllib.request.build_opener()
 opener.addheaders = [header]
 urllib.request.install_opener(opener)
 data = urllib.request.urlopen(url).read().decode()

得到页面内容,采用正则表达获取相关数据

 import re
  finddata = re.compile('<a target="_blank" href="(.*?)" rel="external nofollow" rel="external nofollow" .*?uigs="article_title_.*?">(.*?)</a>').findall(data)
  #finddata = [('',''),('','')]

通过正则获取的数据中存在干扰项(链接:‘amp;')和无关项(标题:'<em><...><....></em>'),用replace()解决

 title = title.replace('<em><!--red_beg-->','')
 title = title.replace('<!--red_end--></em>','')
 link = link.replace('amp;','')

将处理后的标题和链接保存在列表中

 title_link.append(link)
 title_link.append(title)

如此搜索的标题和链接都得到了,接下来导入Excel

先创建Excel

 import xlsxwriter
 workbook = xlsxwriter.Workbook(search+'.xlsx')
 worksheet = workbook.add_worksheet('微信')

将title_link中的数据导入Excel

 for i in range(0,len(title_link),2):
  worksheet.write('A'+str(i+1),title_link[i+1])
  worksheet.write('C'+str(i+1),title_link[i])
 workbook.close()

完整代码:

'''
python3.4 + windows
羽凡-2017/7/11-
用于搜索微信文章,保存标题及链接至Excel中
每个页面10秒延迟,防止被限制
import urllib.request,xlsxwriter,re,time
'''
import urllib.request
search = str(input("搜索微信文章:"))
pagenum = int(input('搜索页数:'))
import xlsxwriter
workbook = xlsxwriter.Workbook(search+'.xlsx')
search = urllib.request.quote(search)
title_link = []
for page in range(1,pagenum+1):
 url = 'http://weixin.sogou.com/weixin?type=2&query='+search+'&page='+str(page)
 import urllib.request
 header = ('User-Agent','Mozilla/5.0')
 opener = urllib.request.build_opener()
 opener.addheaders = [header]
 urllib.request.install_opener(opener)
 data = urllib.request.urlopen(url).read().decode()
 import re
 finddata = re.compile('<a target="_blank" href="(.*?)" rel="external nofollow" rel="external nofollow" .*?uigs="article_title_.*?">(.*?)</a>').findall(data)
 #finddata = [('',''),('','')]
 for i in range(len(finddata)):
  title = finddata[i][1]
  title = title.replace('<em><!--red_beg-->','')
  title = title.replace('<!--red_end--></em>','')
  try:
   #标题中可能存在引号
   title = title.replace('&ldquo;','"')
   title = title.replace('&rdquo;','"')
  except:
   pass
  link = finddata[i][0]
  link = link.replace('amp;','')
  title_link.append(link)
  title_link.append(title)
 print('第'+str(page)+'页')
 import time
 time.sleep(10)
worksheet = workbook.add_worksheet('微信')
worksheet.set_column('A:A',70)
worksheet.set_column('C:C',100)
bold = workbook.add_format({'bold':True})
worksheet.write('A1','标题',bold)
worksheet.write('C1','链接',bold)
for i in range(0,len(title_link),2):
 worksheet.write('A'+str(i+1),title_link[i+1])
 worksheet.write('C'+str(i+1),title_link[i])
workbook.close()
print('导入Excel完毕!')

以上这篇python3之微信文章爬虫实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# python  # 微信爬虫  # python爬虫_微信公众号推送信息爬取的实例  # Python爬虫实现“盗取”微信好友信息的方法分析  # Python 微信爬虫完整实例【单线程与多线程】  # python3简单实现微信爬虫  # python爬虫使用正则爬取网站的实现  # Python爬虫之爬取淘女郎照片示例详解  # Python爬虫实例——爬取美团美食数据  # Python爬虫实例——scrapy框架爬取拉勾网招聘信息  # Python爬虫爬取百度搜索内容代码实例  # python爬虫开发之使用python爬虫库requests  # urllib与今日头条搜索功能爬取搜索内容实例  # python爬虫爬取笔趣网小说网站过程图解  # Python爬虫爬取微信朋友圈  # 关键词  # 给大家  # 都是  # 得到了  # 好了  # 当你  # 一遍  # 希望能  # 并将  # 可以看到  # 还有一个  # 做过  # 时间为  # 这篇  # 相关链接  # 都得  # 跳到  # 第二步  # 搜狗  # 小编 


相关文章: 大连网站设计制作招聘信息,大连投诉网站有哪些?  XML的“混合内容”是什么 怎么用DTD或XSD定义  c++怎么用jemalloc c++替换默认内存分配器【性能】  建站主机选购指南:核心配置与性价比推荐解析  网站代码制作软件有哪些,如何生成自己网站的代码?  如何将凡科建站内容保存为本地文件?  成都响应式网站开发,dw怎么把手机适应页面变成网页?  如何用西部建站助手快速创建专业网站?  建站之星如何快速解决建站难题?  C++中引用和指针有什么区别?(代码说明)  制作证书网站有哪些,全国城建培训中心证书查询官网?  如何配置WinSCP新建站点的密钥验证步骤?  金*站制作公司有哪些,金华教育集团官网?  如何在七牛云存储上搭建网站并设置自定义域名?  行程制作网站有哪些,第三方机票电子行程单怎么开?  ,怎么用自己头像做动态表情包?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  如何快速启动建站代理加盟业务?  北京的网站制作公司有哪些,哪个视频网站最好?  香港服务器选型指南:免备案配置与高效建站方案解析  唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  建站主机选购指南与交易推荐:核心配置解析  详解jQuery停止动画——stop()方法的使用  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  建站之星如何取消后台验证码生成?  智能起名网站制作软件有哪些,制作logo的软件?  C++如何编写函数模板?(泛型编程入门)  南京网站制作费用,南京远驱官方网站?  如何通过虚拟主机快速完成网站搭建?  如何在Windows 2008云服务器安全搭建网站?  如何快速搭建二级域名独立网站?  广州营销型建站服务商推荐:技术优势与SEO优化解析  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  做企业网站制作流程,企业网站制作基本流程有哪些?  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  焦点电影公司作品,电影焦点结局是什么?  制作门户网站的参考文献在哪,小说网站怎么建立?  如何零基础开发自助建站系统?完整教程解析  网站设计制作公司地址,网站建设比较好的公司都有哪些?  如何在服务器上三步完成建站并提升流量?  深圳网站制作的公司有哪些,dido官方网站?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  如何做网站制作流程,*游戏网站怎么搭建?  建站之星如何优化SEO以实现高效排名?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  如何用美橙互联一键搭建多站合一网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。