正則獲取標題及鏈接-->改變page循環第二步-->將得到的標題及鏈接導入Excel爬蟲的第一步都是先手工操作" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python3之微信文章爬蟲實例講解

系統 1754 0

前提:

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('
            
              (.*?)
            
            ').findall(data)
  #finddata = [('',''),('','')]
          

通過正則獲取的數據中存在干擾項(鏈接:‘amp;')和無關項(標題:' <...><....> '),用replace()解決

            
 title = title.replace('
            
                            ','')
 title = title.replace('
                          
            ','')
 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('
            
              (.*?)
            
            ').findall(data)
 #finddata = [('',''),('','')]
 for i in range(len(finddata)):
  title = finddata[i][1]
  title = title.replace('
            
                            ','')
  title = title.replace('
                          
            ','')
  try:
   #標題中可能存在引號
   title = title.replace('“','"')
   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之微信文章爬蟲實例講解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日本欧美高清 | 国产激情一区二区三区四区 | 久久私人影院 | 片在线观看 | 天天爱天天射 | 亚洲国产欧洲精品路线久久 | 69做爰视频在线观看 | 国产综合色在线视频区 | 天天伊人 | 亚洲国产激情 | 亚洲操穴 | 天天综合网天天综合色不卡 | 国产美女久久久 | 久久精品麻豆 | 亚洲国产一区二区在线 | 看全色黄大色大片免费视频 | 国产亚洲99影院 | 久久九九青青国产精品 | 免费福利在线 | 九九精品在线播放 | 久久久这里只有精品免费 | 欧美成人天天综合在线视色 | 毛片在线网址 | 日本一道一区 | 国产精品视频九九九 | 欧美日韩免费大片 | 国产精品u任我爽爆在线播放 | 亚洲人jizz | 老司机一级毛片 | 国产免费自拍视频 | 中文字幕精品在线视频 | 91精品国产免费久久 | 久久国产精品亚洲 | 国产一区二区三区不卡在线观看 | 日本人又黄又爽免费视频 | 欧美人与动性xxxxbbbb | 国产精品视频a | 国产a高清| 欧美性另类69xxxx极品 | 精品视频 九九九 | 国产成人在线视频播放 |