前提:
python3.4
windows
作用:通过搜狗的微信搜索接口http://weixin.sogou.com/来搜索相关微信文章,并将标题及相关链接导入Excel表格中
说明:需xlsxwriter模块,另程序编写时间为2017/7/11,以免之后程序无法使用可能是网站做过相关改变,程序较为简单,除去注释40多行。
正题:
思路:打开初始Url --> 正则获取标题及链接 --> 改变page循环第二步 --> 将得到的标题及链接导入Excel
爬虫的第一步都是先手工操作一遍(闲话)
进入上面提到的网址,如输入:“图片识别”,搜索,网址变为“http://weixin.sogou.com/weixin"htmlcode">
search = urllib.request.quote(search)
page是用来循环的
for page in range(1,pagenum+1): url = 'http://weixin.sogou.com/weixin"htmlcode">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" .*"article_title_.*">(.*"htmlcode">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"_blank" href="(.*" rel="external nofollow" rel="external nofollow" .*"article_title_.*">(.*"') title = title.replace('”','"') 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之微信文章爬虫实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。