小编use*_*366的帖子

如何使用Python请求伪造浏览器访问?

我想从以下网站获取内容.如果我使用像Firefox或Chrome这样的浏览器,我可以获得我想要的真实网站页面,但如果我使用Python请求包(或wget命令)来获取它,它将返回一个完全不同的HTML页面.我认为网站的开发者为此做了一些块,所以问题是:

如何使用python请求或命令wget伪造浏览器访问?

http://www.ichangtou.com/#company:data_000008.html

html python wget web-scraping python-requests

100
推荐指数
6
解决办法
14万
查看次数

如何在expect脚本中清理以前的expect_buf

我编写了一个期望函数来获取命令的输出,我的代码如下所示

proc do_cmd {cmd id} {
  set spawn_id $id
  send "$cmd\r"
  expect "$cmd\r"
  expect {
    -re "\n(.*)\r\n" {return $expect_out(1,string)}
    default {exit 1}
  }
}
Run Code Online (Sandbox Code Playgroud)

如果我只调用一次它可以正常工作并返回我想要的东西,但是如果我连续不停地调用它,它会返回不需要的东西.

# test case 1
set ret [do_cmd $mycmd $spawn_id]
puts "$mycmd returns $ret"  # the return value is ok

# test case 2
set ret [do_cmd $mycmd $spawn_id]
set ret [do_cmd $mycmd $spawn_id]
puts "$mycmd returns $ret"  # the return value is not something I want
Run Code Online (Sandbox Code Playgroud)

我使用'exp_internal 1'来调试它,发现第二个被调用命令中的expect_out仍然保存了先前的输出信息并导致匹配问题,所以如何清理expect_out缓冲区(我试图将它设置为空字符串)但它不起作用,或者还有什么我可以做的,以避免这个问题?提前致谢.

tcl expect

6
推荐指数
1
解决办法
1万
查看次数

vim更换问题

我有一些如下所示的行:

aaa
bbb
ccc
ddd
Run Code Online (Sandbox Code Playgroud)

我想让它们像这样改变:

aaa=$aaa
bbb=$bbb
ccc=$ccc
ddd=$ddd
Run Code Online (Sandbox Code Playgroud)

所以我使用以下命令在vim中执行它,但是我收到了一个错误

:s/\(\^*\)/\1=\$\1/
Run Code Online (Sandbox Code Playgroud)

我意识到\1这里不能使用两次,那我该怎么办呢?

vim

5
推荐指数
1
解决办法
79
查看次数

如何在python中编写这个eval?

我想dict y1~y10[name]用给定的列表来评估以下内容.

我知道使用eval(self.y$i[name]) = value是错误的,但我应该如何在python中执行此操作?

class excel:
    def __init__(self):
        self.base_year = 2004
        self.y1 = {'year':self.base_year}
        self.y2 = {'year':self.base_year + 1}
        self.y3 = {'year':self.base_year + 2}
        self.y4 = {'year':self.base_year + 3}
        self.y5 = {'year':self.base_year + 4}
        self.y6 = {'year':self.base_year + 5}
        self.y7 = {'year':self.base_year + 6}
        self.y8 = {'year':self.base_year + 7}
        self.y9 = {'year':self.base_year + 8}
        self.y10 = {'year':self.base_year + 9}
    def value(self, name, value_list):
        for value, i in value_list, range(1, 10):
            eval(self.y$i[name]) = value

list = …
Run Code Online (Sandbox Code Playgroud)

python eval

0
推荐指数
1
解决办法
87
查看次数

标签 统计

python ×2

eval ×1

expect ×1

html ×1

python-requests ×1

tcl ×1

vim ×1

web-scraping ×1

wget ×1