尝试使用 Mechanize 和 python 匹配网站上的正则表达式

Trying to match a regular expression on a website using Mechanize and python

我试图最终从我从维基百科抓取的数据填充 google sheet。 (我稍后会处理 robots.txt 文件,我只是想弄清楚如何从概念上做到这一点。我的代码在下面。我试图将页面作为字符串放入,然后 运行 正则表达式搜索我的目标是隔离页面上的规范并至少将它们存储为一个值但是我在搜索页面时遇到问题不断出现因为没有找到

温柔一点,我是菜鸟 - 在此先感谢您的帮助!

import mechanize
import re
import gspread


br = mechanize.Browser()

pagelist=["https://en.wikipedia.org/wiki/Tesla_Model_S"]

wheelbase = ''
length =''
width= ''
height =''





pages=len(pagelist)
i=0



br.open(pagelist[0])

page = br.response()
print page.read()

pageAsaString = str(page.read())



match = re.search('Wheelbase',pageAsaString)
if match:                      
    print 'found', match.group() 
else:
print 'did not find'

我得到的页面很好 - 您收到一条消息说无法找到该页面的原因是因为您的 print 'did not find' 块没有正确缩进。这在 Python 很重要!将它撞到 4 个空格:

if match:                      
    print 'found', match.group() 
else:
    print 'did not find'

还有一件事。我不熟悉 Mechanize,但您只是在页面上调用 read(),这会耗尽它。因此,当您 read() print page.read() 中的页面时,没有任何内容可以使用并分配给 pageAsaString。您已经阅读到本页末尾!因此,您需要先读取页面并将其保存到变量中。查看 IO 操作的文档 here.

修复缩进并删除 print page.read() 后,一切似乎都正常工作。

由于您是初学者,我强烈建议您阅读 Dive Into Python。祝你的项目好运!