个人工具库,主要用于SEO,数据采集方面

ysmtool的Python项目详细描述


思明的个人工具库
=================

该工具库主要是把我平时常用的SEO代码、数据采集代码进行封装,方便在不同的项目中引用。
如果你使用该工具库,本人无法保证代码的稳定性。


安装
======
pip install ysmtool


使用
======

import ysmtool

Http模块
=========

http=ysmtool.Http()

status,html=http.get("https://www.baidu.com")

有get 和 post 方法, 返回 (status,html) , status 为 请求返回的状态码,数值型。

ip:指定本地出口IP,如果是多网卡服务器,设置为相应网卡绑定的IP地址,就会从指定网卡进行请求

gbk:如果返回的源码是gb2312,gbk之类的,设置为True

serverIp:指定域名对应的IP,可以免解析,或者截持

ua: user_agent

cookie: cookie文本

serverPort:网站对应的端口

http.get(self,url,ip=None,ua='',refer='',cookie='',gbk=False,serverIp='',serverPort='')

http.post(self,url,ip=None,ua='',refer='',cookie='',data={},gbk=False,serverIp='',serverPort='')

tool模块
===========

bs=ysmtool.tool.soup(html)
将html转为BeautifulSoup对象

str=ysmtool.tool.urlencode(str)
对字符串进行url编码

md5str=ysmtool.tool.md5(str)
对字符串进行md5

jsontxt=ysmtool.tool.json_encode(obj)
对json对象转化成json字符串,出错时 jsontxt==None


obj=ysmtool.tool.json_decode(jsontxt)
解析json字符串,出错时 obj==None


baidu模块
=========

status,num=ysmtool.baidu.index('www.taobao.com')
淘宝的百度收录 , 正常返回的话, status == 200

status,result=ysmtool.baidu.search('连衣裙',1,10)
百度搜索“连衣裙”,返回第一页的结果, 正常返回的话, status == 200
第三个参数为每页显示条数,默认10,只能设置为10,20,30,40,50

if status==200 and result:
for item in result['items']:
print item['title'],item['url']

当查询为第1页时,result['total'] 为相关结果数:

status,result=ysmtool.baidu.search('site:www.yesiming.com',1)
if status==200 and result:
print result['total'] #收录数

凤巢关键词规划师拓词功能,需要网页端登录,然后抓包记录cookie和相关信息
每次最多返回1000个相关关键词,
kwc:竞争激烈程度
pv:整体日均搜索数
pcShow:pc搜索数
wiseShow:移动搜索数
showReason: 展现理由,数组结构 ['黑马','夜间好词']
totalWeight: 总权重,不知道什么鬼

reqid=''
eventId=''
token=''
userid=''
cookie=''

page=1
status,words=ysmtool.baidu.fengchao('双飞燕鼠标',cookie,token,userid,eventId,reqid,page)
if status==200:
for word in words:
print word['word'],word['kwc'],word['pv'],word['pcShow'],word['wiseShow'],word['showReason'],word['totalWeight']



haosou模块
==========

status,num=ysmtool.haosou.index('www.taobao.com')
淘宝的360收录 , 正常返回的话, status == 200

status,result=ysmtool.haosou.search('连衣裙',1)
360搜索“连衣裙”,返回第一页的结果 , 正常返回的话, status == 200

if status==200 and result:
for item in result['items']:
print item['title'],item['url']

当查询为第1页时,result['total'] 为相关结果数:

status,result=ysmtool.haosou.search('site:www.yesiming.com',1)
if status==200 and result:
print result['total'] #收录数

aizhan模块
===========

打印出最近半年淘宝在百度的收录情况
ysmtool.aizhan.history("www.taobao.com",'baidu')

返回淘宝最近半年的历史数据,包括百度收录,百度索引,百度反链,360收录,360反链,搜狗收录,搜狗反链, Json格式

json=ysmtool.aizhan.history('www.taobao.com')
if json:
print json

联系我
==========

有问题请发邮箱至 simon@yesiming.com
或者QQ: 176089710

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java SUN次要代码309含义   java避免为空元素生成XML自关闭标记,并生成自定义的<XML>开始标记   java使用json和restful将数组数据从本地sqlite数据库插入SQL Server   java Spring Boot 1.5.9字符编码问题   LInkedIn讨论中的java 401错误   位图Java:检查多个位向量/位集是否相交的最快方法?   macos如何让Java应用程序以图标出现在Mac OS X dock中   java如何删除netbeans中的@SuppressWarnings(“未使用的”)?   apachestorm中的java自定义序列化   java可以退出代码还是应该终止main?   递归如何在Java中递归地绘制简单的线条?   unicode在Java中确定特定字体是否可以呈现特定字符   打开并阅读带有Selenium/Katalon(Java)特定标题的电子邮件文本(来自Gmail)