批量获取TDK H1等SEO信息,网页标题|关键字|描述批量查询-pyhton
![](http://loooooong.com/wp-content/uploads/2020/06/1593414696-Snipaste_2020-06-29_15-07-42.png)
平时我们做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://loooooong.com # 程序更新、问题反馈→ http://loooooong.com/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)
![](http://loooooong.com/wp-content/uploads/2020/07/1593771485-Snipaste_2020-07-03_18-17-37.png)
![](http://loooooong.com/wp-content/uploads/2020/07/Snipaste_2020-07-01_10-19-35.png)
———————–
公众号:陈小龙SEO
知乎:陈小龙SEO优化
知识星球:陈小龙SEO部落
博客:http://loooooong.com/
欢迎大家加我的微信或付费交流群现价59元/年,初建阶段,很少发言,考虑清楚与我沟通。
卢松松博客编辑杰哥
2020-07-05 下午11:43
感谢博主分享 学习了