一些HTML5输入元素接受该pattern属性,该属性是表单验证的正则表达式.其他一些HTML5输入元素(例如)input type=email会自动进行验证.
现在似乎处理验证的方式在浏览器中是不同的.给定一个特定的浏览器,比如Chrome,是否可以通过编程方式提取用于验证的正则表达式?或者也许那里有文件?
所以我有两个我想要比较的CSV文件并获得类似项目的结果.第一个文件hosts.csv如下所示:
Path Filename Size Signature
C:\ a.txt 14kb 012345
D:\ b.txt 99kb 678910
C:\ c.txt 44kb 111213
Run Code Online (Sandbox Code Playgroud)
第二个文件masterlist.csv如下所示:
Filename Signature
b.txt 678910
x.txt 111213
b.txt 777777
c.txt 999999
Run Code Online (Sandbox Code Playgroud)
如您所见,行不匹配,并且masterlist.csv始终大于hosts.csv文件.我想要搜索的唯一部分是Signature部分.我知道这看起来像:
hosts[3] == masterlist[1]
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个解决方案,它将给我类似下面的内容(基本上是带有新的RESULTS列的hosts.csv文件):
Path Filename Size Signature RESULTS
C:\ a.txt 14kb 012345 NOT FOUND in masterlist
D:\ b.txt 99kb 678910 FOUND in masterlist (row 1)
C:\ c.txt 44kb 111213 FOUND in masterlist (row 2)
Run Code Online (Sandbox Code Playgroud)
我搜索的帖子,发现类似这样的东西在这里,但我不太明白它,因为我还在学习蟒蛇.
使用Python 2.6 编辑
我有一些代码使用mechanize和beautifulsoup来抓取一些数据.代码在测试机器上工作正常,但生产机器阻止了连接.我得到的错误是:
urlopen error [Errno 10053] An established connection was aborted by the software in your host machine
Run Code Online (Sandbox Code Playgroud)
我通过类似的帖子阅读,我找不到这个确切的错误.我试图抓取的网站是HTTPS,但我也遇到了与HTTP网站相同的错误.我使用python 2.6并机械化0.2.4.
这是由于代理还是,正如错误所说,我的本地机器上的东西?我已经写了机械化来使用系统的代理:
br = mechanize.Browser()
br.addheaders = [('User-agent', 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1')]
br.set_proxies({}) #will use system default proxy
page = br.open(url)
html = page.read()
soup = BeautifulSoup.BeautifulSoup(html)
Run Code Online (Sandbox Code Playgroud)
同样,这一切都适用于我的测试机器,但是生产机器给出了错误10053.
我有一个包含多个条目的CSV文件.示例csv:
user, phone, email
joe, 123, joe@x.com
mary, 456, mary@x.com
ed, 123, ed@x.com
Run Code Online (Sandbox Code Playgroud)
我正在尝试通过CSV中的特定列删除重复项,但是下面的代码我得到的"列表索引超出范围".我想通过比较row[1]与 newrows[1]我会找到所有重复,只改写的唯一条目file2.csv.这不起作用,我不明白为什么.
f1 = csv.reader(open('file1.csv', 'rb'))
newrows = []
for row in f1:
if row[1] not in newrows[1]:
newrows.append(row)
writer = csv.writer(open("file2.csv", "wb"))
writer.writerows(newrows)
Run Code Online (Sandbox Code Playgroud)
我的最终结果是有一个列表来维护文件的顺序(set不会工作......对吗?),它应该是这样的:
user, phone, email
joe, 123, joe@x.com
mary, 456, mary@x.com
Run Code Online (Sandbox Code Playgroud)