批量獲取TDK H1等SEO信息,網頁標題|關鍵字|描述批量查詢-pyhton

平時我們做SEO工作的時候,可能需要獲取一批頁面的tdk一類的SEO信息,但一個個頁面復制粘貼太慢,而且還非常容易出錯。所以我準備做一款可以幫我批量獲取tdk、h1信息的程序。這樣無論有多少頁面,我都可以輕松搞定了。
?功能介紹:
- ?第一步:把所有需要查詢的URL放入urls.txt中
- 第二步:運行程序,信息自動生成到excel文件中,方便后續操
程序介紹:
urls.txt
- 這個文件是用來放url列表的,每行一條;
- 需要手工新建文件、添加、刪除url
- 程序支持url數量不限,但建議每次不要超過50條;
excelFile.xls
- 這個文件是用來放TDK,H1信息;
- 程序自動生成不需要手動新建,程序運行成功后自動生成
- 生成位置是在程序所在目錄里
- 可以在程序中修改文件名稱 file_name = ‘{}.xls’.format(‘excelFile‘)
- excel中的信息順序是:title,h1,keywords,description
spider_url_list_title.py
- python程序,python版本3.7.4
- 建議使用PyCharm
- 使用到的庫:requests(2.22.0)、pyquery(1.4.0)、xlwt(1.3.0) 沒有的需要安裝后再運行
工具問題處理
- 遇到問題可以請不要直接微信提問,可以到我的知識星球或者本文評論區留言,我會定期處理;長期不回復可以微信提醒我。
- 提問時同時發送我你的本地環境、使用的pyhton版本、程序反饋的錯誤信息等內容。
#!/usr/bin/env python # -*- encoding: utf-8 -*- # Author: 陳小龍SEO # http://www.jininghuichuang.com.cn # 程序更新、問題反饋→ http://www.jininghuichuang.com.cn/296 # 程序更新、問題反饋→ 陳小龍SEO(公眾號),陳小龍SEO部落(知識星球) # Created on 2020年7月3日16:25:11 import requests import time from pyquery import PyQuery import xlwt import sys def urls(): ''' 獲取urls.txt文件中的內容,并生成url列表 :return: url列表 ''' try: with open('urls.txt', 'r') as f: url_str = f.read() url_list = url_str.split('\n') except FileNotFoundError as e: print('沒有找到urls.txt;請檢查urls.txt是否存在,是否和程序在同一目錄中,錯誤內容:{}'.format(e)) sys.exit() return url_list def spider(url): ls = requests try: req = ls.get(url) time.sleep(0.5) # 避免給網站服務器壓力 except Exception as e: print('抓取頁面時出現錯誤,請檢查urls.txt是否符合規范,錯誤內容:{}'.format(e)) return False return req def tdkh(req): ''' 獲取頁面的TDK h1 信息 :param req: :return: ''' try: req = PyQuery(req.text) title = req('title').text() keywords = req('[name=keywords]').attr('content') description = req('[name=description]').attr('content') h1 = req('h1').text() except Exception as e: print('頁面分析出現錯誤,錯誤內容:{}'.format(e)) return False, False, False, False return title, h1, keywords, description def save(file_name): ''' 存儲TDK信息到excel中 :param file_name: :return: ''' try: myWorkbook.save(file_name) except PermissionError: print('請退出{}后在運行本程序'.format(file_name)) sys.exit() urllist = urls() # 1. 獲取url列表 myWorkbook = xlwt.Workbook() # 2. 創建Excel工作薄 mySheet = myWorkbook.add_sheet('陳小龍SEO工具') # 3. 添加Excel工作表 file_name = '{}.xls'.format('excelFile') # 文件名稱,可以修改 save(file_name) errer_urls = [] # 存儲出現錯誤的url for i in range(len(urllist)): url = urllist[i] if url == '': print('跳過空行') continue req = spider(url) if req is False: print('頁面抓取出現錯誤,自動跳過,url:{}'.format(url)) errer_urls.append(url) continue title, h1, keywords, description = tdkh(req) if title is False: print('頁面分析出現錯誤,自動跳過,url:{}'.format(url)) errer_urls.append(url) continue # 生成excl內容 mySheet.write(i, 0, title) mySheet.write(i, 1, h1) mySheet.write(i, 2, keywords) mySheet.write(i, 3, description) save(file_name) print('程序運行完成……\n 抓取URL{}個'.format(len(urllist))) if len(errer_urls) is not 0: print('一下是出現錯誤的url,你可以檢查url錯誤后重新加入') for u in errer_urls: print(u)


———————–
公眾號:陳小龍SEO
知乎:陳小龍SEO優化
知識星球:陳小龍SEO部落
博客:http://www.jininghuichuang.com.cn/
歡迎大家加我的微信或付費交流群現價59元/年,初建階段,很少發言,考慮清楚與我溝通。
盧松松博客編輯杰哥
2020-07-05 下午11:43
感謝博主分享 學習了