找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3432|回复: 1

[求助] 关于监控网站关键词的问题

1

主题

1

帖子

1

积分

贫民

积分
1
novboy 发表于 2017-5-11 15:43:14 | 显示全部楼层 |阅读模式
本帖最后由 novboy 于 2017-5-11 15:47 编辑

    大家好,最近在搞SEO的分析优化,需要用到python的脚本了,也有很长一段时间没接触python了,很多基础的知识都需要重新温习了。
    废话不多说,先上脚本,curl.py如下:
  1. #! /usr/bin/env python
  2. # -*- coding: utf-8 -*-

  3. from pycurl import *
  4. import StringIO, time, random

  5. def curl(url, retry=False, delay=1, **kwargs):

  6.      useragent_list = ['Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6','Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)','Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)','Opera/9.20 (Windows NT 6.0; U; en)','Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 5.1; .NET CLR 1.1.4322)','Opera/9.00 (Windows NT 5.1; U; en)','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.50','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.0','Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.1) Opera 7.02 [en]','Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20060127 Netscape/8.1',]

  7.      size = len(useragent_list)
  8.      useragent = useragent_list[random.randint(0, size-1)]
  9.      s = StringIO.StringIO()
  10.      c = Curl()
  11.      c.setopt(NOSIGNAL, True)
  12.      c.setopt(FOLLOWLOCATION, True)
  13.      c.setopt(MAXREDIRS, 5)
  14.      c.setopt(TIMEOUT, 120)

  15.      for key in kwargs:
  16.       c.setopt(locals()[key], kwargs[key])
  17.       c.setopt(URL, url)
  18.       c.setopt(WRITEFUNCTION, s.write)

  19.      if 'USERAGENT' not in kwargs:
  20.       c.setopt(USERAGENT, useragent)

  21.      if 'REFERER' not in kwargs:
  22.        c.setopt(REFERER, url)

  23.      while 1:
  24.          try:
  25.           c.perform()

  26.           break

  27.          except:

  28.              if retry:
  29.                 time.sleep(delay)

  30.      else:

  31.        return False
  32.        return s.getvalue()
复制代码
说明:

           pycurl 模块我已经通过pip安装了,然后我用一个测试脚本test.py,检查一下上面这个程序的通过性如何,但发现一直在运动,没任何的输出。


test.py代码如下:
  1. #! /usr/bin/env python
  2. # -*- coding: utf-8 -*-

  3. import curl  #读取上面的curl.py模块

  4. print curl.curl('www.baidu.com')
复制代码
输出界面:
1.png

Crtl+D终止后的提示:
2.png


现在困惑不知哪儿出错了。
回复

使用道具 举报

0

主题

14

帖子

14

积分

贫民

积分
14
hades2013 发表于 2017-5-11 23:30:59 | 显示全部楼层
学习中,,,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表