批量获取TDK H1等SEO信息,网页标题|关键字|描述批量查询 悬赏1元 已结束
<p><br></p><p>平时我们做SEO工作的时候,可能需要获取一批页面的tdk一类的SEO信息,但一个个页面复制粘贴太慢,而且还非常容易出错。所以我准备做一款可以帮我批量获取tdk、h1信息的程序。这样无论有多少页面,我都可以轻松搞定了。</p><p>功能介绍:</p><p>第一步:把所有需要查询的URL放入urls.txt中</p><p>第二步:运行程序,信息自动生成到excel文件中,方便后续操作</p><p>程序介绍:</p><p>urls.txt</p><ul><li>这个文件是用来放url列表的,每行一条;</li><li>需要手工新建文件、添加、删除url</li><li>程序支持url数量不限,但建议每次不要超过50条;</li></ul><p>excelFile.xls</p><ul><li>这个文件是用来放TDK,H1信息;</li><li>程序自动生成不需要手动新建,程序运行成功后自动生成</li><li>生成位置是在程序所在目录里</li><li>可以在程序中修改文件名称 file_name = '{}.xls'.format('excelFile')</li><li>excel中的信息顺序是:title,h1,keywords,description</li></ul><p>spider_url_list_title.py</p><ul><li>python程序,python版本3.7.4</li><li>建议使用PyCharm</li><li>使用到的库:requests(2.22.0)、pyquery(1.4.0)、xlwt(1.3.0) 没有的需要安装后再运行</li></ul><p>主要文件spider_url_list_title.py 代码如下:</p><ul><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li></ul><pre class="__reader_view_article_wrap_3342346578043174__">#!/usr/bin/env python<br># -- encoding: utf-8 --<br># Author: 陈小龙SEO<br># 程序更新、问题反馈→ http://loooooong.com/296<br># 程序更新、问题反馈→ 陈小龙SEO(公众号),陈小龙SEO部落(知识星球)<br># Created on 2020年7月3日16:25:11<br>import requests<br>import time<br>from pyquery import PyQuery<br>import xlwt<br>import sys<br><br><br>def urls():<br> '''<br> 获取urls.txt文件中的内容,并生成url列表<br> :return: url列表<br> '''<br> try:<br> with open('urls.txt', 'r') as f:<br> url_str = f.read()<br> url_list = url_str.split('\n')<br> except FileNotFoundError as e:<br> print('没有找到urls.txt;请检查urls.txt是否存在,是否和程序在同一目录中,错误内容:{}'.format(e))<br> sys.exit()<br> return url_list<br><br><br>def spider(url):<br> ls = requests<br> try:<br> req = ls.get(url)<br> time.sleep(0.5) # 避免给网站服务器压力<br> except Exception as e:<br> print('抓取页面时出现错误,请检查urls.txt是否符合规范,错误内容:{}'.format(e))<br> return False<br> return req<br><br><br>def tdkh(req):<br> '''<br> 获取页面的TDK h1 信息<br> :param req:<br> :return:<br> '''<br> try:<br> req = PyQuery(req.text)<br> title = req('title').text()<br> keywords = req('[name=keywords]').attr('content')<br> description = req('[name=description]').attr('content')<br> h1 = req('h1').text()<br> except Exception as e:<br> print('页面分析出现错误,错误内容:{}'.format(e))<br> return False, False, False, False<br> return title, h1, keywords, description<br><br><br>def save(file_name):<br> '''<br> 存储TDK信息到excel中<br> :param file_name:<br> :return:<br> '''<br> try:<br> myWorkbook.save(file_name)<br> except PermissionError:<br> print('请退出{}后在运行本程序'.format(file_name))<br> sys.exit()<br><br>urllist = urls() # 1. 获取url列表<br>myWorkbook = xlwt.Workbook() # 2. 创建Excel工作薄<br>mySheet = myWorkbook.add_sheet('陈小龙SEO工具') # 3. 添加Excel工作表<br>file_name = '{}.xls'.format('excelFile') # 文件名称,可以修改<br>save(file_name)<br>errer_urls = [] # 存储出现错误的url<br><br>for i in range(len(urllist)):<br> url = urllist[i]<br> if url == '':<br> print('跳过空行')<br> continue<br> req = spider(url)<br> if req is False:<br> print('页面抓取出现错误,自动跳过,url:{}'.format(url))<br> errer_urls.append(url)<br> continue<br> title, h1, keywords, description = tdkh(req)<br> if title is False:<br> print('页面分析出现错误,自动跳过,url:{}'.format(url))<br> errer_urls.append(url)<br> continue<br> # 生成excl内容<br> mySheet.write(i, 0, title)<br> mySheet.write(i, 1, h1)<br> mySheet.write(i, 2, keywords)<br> mySheet.write(i, 3, description)<br><br>save(file_name)<br>print('程序运行完成……\n 抓取URL{}个'.format(len(urllist)))<br>if len(errer_urls) is not 0:<br> print('一下是出现错误的url,你可以检查url错误后重新加入')<br> for u in errer_urls:<br> print(u)</pre><ul><li><br></li></ul>