段时间工作比较忙,博客更新的时间又慢了,前几天刚旅游回来,和部门的同事去了富春江-三清山和姚林仙境,感觉挺不错的,坐了船也爬了山。感受了大自然的秀丽景色。废话不多话,今天给大家分享个python 批量查询网站的pr的应用,前段时间因为要批量的筛选外链的资源,而外链网站的PR则是一个重要的指标,特别是对做GG的SEO的朋友来说,我们肯定是希望筛选出很多有效的而且PR高的外链资源,由于要筛选的网站比较多,只有用程序来做了。代码贴出来,如果大家感兴趣可以运行下看看,要查询的网站我这里是放到文件里,你也可以放到数据库里,然后读出来。结果也是写到文件里,同样你也可以改代码,然后把查询的结果放到数据库里。下面代码:

info.txt 一行一个网站

xxx.com

xxxx.com

然后输出的结果是:

xxx.com,1

xxx.com,3

前面是网址,或者是对应的pr,如果该网站查询失败的话,那pr=-1

我本来想用google提供的API接口,但是这个接口好像现在无法访问,所以我只有调用chinaz的查询程序 ,然后自己通过python程序去获取相关的信息。

这里主要是用到了httplib,urllib,和python的正则表达式的内容,感兴趣的朋友可以看看他们的文档和使用说明。声明:本程序只供大家学习用途,一切作为商业用途与本人无关。

# -*- coding: utf-8 -*-

import re,urllib,httplib,time

def get_url(url):

'''获取标准的url'''

host_re  = re.compile(r'^https?://(.*?)($|/)',

re.IGNORECASE

)

return host_re.search(url).group(0)[7:-1]

def get_pr(url):

'''获取相关的pr'''

params = urllib.urlencode({'PRAddress':url})

headers = {"Content-type": "application/x-www-form-urlencoded",

"Accept": "text/plain",

"User-agent":"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)",

"Referer":"http://pr.chinaz.com/?PRAddress=www.baidu.com"

}

conn = httplib.HTTPConnection("pr.chinaz.com")

conn.request("GET", "", params, headers)

response = conn.getresponse()

data = response.read()

datautf8 = data.decode('utf-8')

posin = datautf8.find('enkey')

keyinfo =  datautf8[posin+6:posin+38]

opener = urllib.FancyURLopener()

opener.addheaders = [

('User-agent','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)')

]

hosturl = "http://pr.chinaz.com/ajaxsync.aspx?at=pr&enkey=%s&url=%s" % (keyinfo,url)

info = opener.open(hosturl).read()

cinfo = info.decode('utf-8').encode('gbk')

num_re = re.compile(r'[0-9]')

pr_num =  num_re.search(cinfo).group(0)

print pr_num

return pr_num

f = file('pr.txt','w')

for m in file('info.txt','r'):

murl = m.strip()

#    checkurl = get_url(murl)

try:

prnum = get_pr(murl)

except Exception,e:

prnum = -1

content = "%s,%s\n" % (murl,prnum)

f.write(content)

continue

else:

content = "%s,%s\n" % (murl,prnum)

f.write(content)

time.sleep(5)

f.close()

python网页批量查询_批量查询网站的pr相关推荐

  1. python 网页版笔记_【Python笔记】Python网页正文抽取工具

    本文信息本文由方法SEO顾问发表于2016-05-2018:48:27,共 1153 字,转载请注明:[Python笔记]Python网页正文抽取工具_[方法SEO顾问],如果我网站的文章对你有所帮助 ...

  2. python 网页版笔记_系统学习下python网络爬虫 笔记一

    系统学习下python网络爬虫的知识 1.爬虫的定义 Web Spider,把互联网定义为一个蜘蛛网,网络蜘蛛通过网页的链接地址来寻找网页. 具体过程:从网站的某一个网页(通常是首页)开始,读取网页的 ...

  3. gispython定义查询_定义查询方法

    从方法名称中可以制定特定用于存储的查询和更新 通过使用@Query注解手动定义查询 方法的查询策略设置 通过 @EnableJpaRepositories(queryLookupStrategy = ...

  4. mysql通过集合查询_连接查询与集合查询

    4.外连接查询 在前面讲述的连接操作中,返回的结果都是满足连接条件的记录.有些时候,开发人员或者用户对于不满足连接条件的部分记录也感兴趣,这个时候就需要使用外连接查询.外连接查询不仅可以返回满足连接条 ...

  5. 街道编号怎么查询_上海查询个人社保缴纳记录怎么查

    参保带来多项保障,你知道自己的社保账户怎么查询吗?近期多位有小伙伴咨询查询个人社保缴费记录的问题,本文带大家了解一下! 我们在职期间的社保缴费都是由用人单位申报的,也都是有相应记录的.通过查询社保缴纳 ...

  6. 商城后台管理系统之普通查询_分页查询_商品的添加,单个删除,批量删除

    一.MVC开发模式和JavaEE经典三层结构 1.JSP开发模式一: jsp(接收请求,响应请求,展示数据)+javabean(处理业务逻辑) javaBean:可复用的java组件 -user -u ...

  7. python连接oracle批量写入_批量插入oracle数据库数据

    python初学者,方便下次使用的 def insert_oracle(): con = cx_Oracle.connect('test/123456@IP/test', encoding='utf- ...

  8. python分页查询_分页查询

    分页 使用SELECT查询时,如果结果集数据量很大,比如几万行数据,放在一个页面显示的话数据量太大,不如分页显示,每次显示100条. 要实现分页功能,实际上就是从结果集中显示第1~100条记录作为第1 ...

  9. python爬取交通违法记录查询_如何查询已交罚款的交通违法记录

    展开全部 1.到当地的交管所进行查询 2.使用微信进行查询,微信钱包里的微信城市服e69da5e887aa62616964757a686964616f31333365646234务里有机动车查询,可以 ...

最新文章

  1. 使用NoSQL实现实体服务–第1部分:概述
  2. 任正非:再见,荣耀!从此以后便是对手!
  3. levedb 导入 mysql_[LevelDB] 数据库3:循序渐进 —— 操作接口
  4. 外媒:美国做空机构浑水放弃做空特斯拉
  5. 阿里云数据库再添新成员,企业级MariaDB正式开卖!
  6. 在使用pydelicious时出现HTTP Error 500: Internal Server Error的错误的解决方法:
  7. linux 清tcp缓存 命令_漫画 | 一台Linux服务器最多能支撑多少个TCP连接?
  8. MySQL复制 自动监控脚本
  9. 新老系统迁移及整合方案
  10. Java八股系列——Java数据结构
  11. 职能部门绩效考核指标设置
  12. ESP32用自签CA进行MQTT的TLS双向认证通信
  13. cad墙线打断lisp_[求助]很多相交线快速打断 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...
  14. python和selenium爬虫,网页表格下载自动化脚本
  15. 微信小程序,大佬救我!!!
  16. 编辑器生成静态网页_使用静态网站生成器的7个理由
  17. 如何解决“MSCOMCTL.ocx を読み込めません” 即 MSCOMCTL.ocx加载失败?
  18. 切断ADG的关联,划分为两个独立的数据库
  19. 人脸识别 Face Recognition 入门
  20. mysql 1067 abouting_GitHub - chenxiao07150808/MySQL

热门文章

  1. 最新版快手去水印原理及源码,简单的原理与面临的挑战
  2. MusicPlayer2.1版本
  3. 数字化转型2020,如何加速传统IT到企业云的过渡?
  4. 过去挖煤,现在挖什么?李彦宏的家乡正在发生这些变化
  5. 高级计算机应用软件,商务软件高级应用微课教程(高等职业院校技能应用型教材)/计算机应用系列...
  6. 开发游戏平台要多少钱?
  7. dropout | 深度学习
  8. Qt/C++ 定时关机-给女票用的
  9. 网络安全审计介绍与部署实施
  10. 心理学:《人性的弱点》【美】卡耐基