查看脚本实际上在做什么总是很有用的,一种快速的方法是在过程中的某些步骤打印结果。
例如,使用代码:
for elem in browser.find_elements_by_link_text('More'):
print("elem's href attribute: {}".format(elem.get_attribute("href")))
你会注意到第一个是空白的。在尝试获取获取请求之前,我们应该对此进行测试:
for elem in browser.find_elements_by_link_text('More'):
if elem.get_attribute("href"):
print("Trying to get {}".format(elem.get_attribute("href")))
page = requests.get(elem.get_attribute("href"))
soup=BeautifulSoup(page.content,'html.parser')
print(soup.find_all('p')[0].get_text())
注意一个空的
elem.get_attribute("href")
返回空的Unicode字符串,
u''
-但蟒蛇认为空字符串是假的,这就是为什么
if
作品。
在我的机器上工作很好。希望有帮助!